Index: code/trunk/data/levels/FPSTest.oxw
===================================================================
--- code/trunk/data/levels/FPSTest.oxw	(revision 9257)
+++ code/trunk/data/levels/FPSTest.oxw	(revision 9348)
@@ -23,5 +23,5 @@
   <Scene
    ambientlight = "0.1, 0.1, 0.1"
-   skybox       = "Orxonox/skypanoramagen1"
+   skybox       = "Orxonox/skyBoxBasic"
    gravity      = "0,-1000,0"
    negativeWorldRange = "-100000, -100000, -100000"
Index: code/trunk/data/levels/Spacerace2.oxw
===================================================================
--- code/trunk/data/levels/Spacerace2.oxw	(revision 9257)
+++ code/trunk/data/levels/Spacerace2.oxw	(revision 9348)
@@ -12,5 +12,5 @@
 
   include("templates/spaceshipAssff.oxt")
- 
+
 ?>
 
@@ -37,59 +37,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"/>
 
-	
-	<SpaceRaceManager>
-<checkpoints>	
-	<RaceCheckPoint name="checkpoint1" position="0,-2000,1000" direction="0,-1,1" collisionType="static" scale="1" distance="40" checkpointindex="0" islast="false" nextcheckpoints="1,2,-1">
-        <attached>
-            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
-        </attached>
-        <collisionShapes>
-            <BoxCollisionShape position="0,0,55"      halfExtents="55, 10, 10" />
-            <BoxCollisionShape position="0,0,-55"     halfExtents="55, 10, 10" />
-            <BoxCollisionShape position="55,0,0"      halfExtents="10, 10, 55" />
-            <BoxCollisionShape position="-55,0,0"     halfExtents="10, 10, 55" />
-        </collisionShapes>
-    </RaceCheckPoint>
-
-<RaceCheckPoint name="checkpoint2" position="0,2100,2300" direction="0,-1,1" collisionType="static" scale="1" distance="40" checkpointindex="1" islast="false" nextcheckpoints="3,-1,-1">
-        <attached>
-            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
-        </attached>
-        <collisionShapes>
-            <BoxCollisionShape position="0,0,55"      halfExtents="55, 10, 10" />
-            <BoxCollisionShape position="0,0,-55"     halfExtents="55, 10, 10" />
-            <BoxCollisionShape position="55,0,0"      halfExtents="10, 10, 55" />
-            <BoxCollisionShape position="-55,0,0"     halfExtents="10, 10, 55" />
-        </collisionShapes>
-    </RaceCheckPoint>
-
-<RaceCheckPoint name="checkpoint3" position="0,700,2700" direction="0,-1,1" collisionType="static" scale="1" distance="40" checkpointindex="2" islast="false" nextcheckpoints="3,-1,-1">
-        <attached>
-            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
-        </attached>
-        <collisionShapes>
-            <BoxCollisionShape position="0,0,55"      halfExtents="55, 10, 10" />
-            <BoxCollisionShape position="0,0,-55"     halfExtents="55, 10, 10" />
-            <BoxCollisionShape position="55,0,0"      halfExtents="10, 10, 55" />
-            <BoxCollisionShape position="-55,0,0"     halfExtents="10, 10, 55" />
-        </collisionShapes>
-    </RaceCheckPoint>
-
-<RaceCheckPoint name="checkpoint4" position="0,-400,300" direction="0,-1,1" collisionType="static" scale="1" distance="40" checkpointindex="3" islast="true">
-        <attached>
-            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
-        </attached>
-        <collisionShapes>
-            <BoxCollisionShape position="0,0,55"      halfExtents="55, 10, 10" />
-            <BoxCollisionShape position="0,0,-55"     halfExtents="55, 10, 10" />
-            <BoxCollisionShape position="55,0,0"      halfExtents="10, 10, 55" />
-            <BoxCollisionShape position="-55,0,0"     halfExtents="10, 10, 55" />
-        </collisionShapes>
-    </RaceCheckPoint>
-</checkpoints>
-</SpaceRaceManager>
-
- 
-<SpaceShip position="0,0,200" lookat="0,0,0">
+
+    <SpaceRaceManager>
+        <checkpoints>
+            <RaceCheckPoint name="checkpoint1" position="0,-2000,1000" direction="0,-1,1" collisionType="static" scale="1" distance="40" checkpointindex="0" islast="false" nextcheckpoints="1,2,-1">
+                <attached>
+                    <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+                </attached>
+                <collisionShapes>
+                    <BoxCollisionShape position="0,0,55"      halfExtents="55, 10, 10" />
+                    <BoxCollisionShape position="0,0,-55"     halfExtents="55, 10, 10" />
+                    <BoxCollisionShape position="55,0,0"      halfExtents="10, 10, 55" />
+                    <BoxCollisionShape position="-55,0,0"     halfExtents="10, 10, 55" />
+                </collisionShapes>
+            </RaceCheckPoint>
+
+            <RaceCheckPoint name="checkpoint2" position="0,2100,2300" direction="0,-1,1" collisionType="static" scale="1" distance="40" checkpointindex="1" islast="false" nextcheckpoints="3,-1,-1">
+                <attached>
+                    <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+                </attached>
+                <collisionShapes>
+                    <BoxCollisionShape position="0,0,55"      halfExtents="55, 10, 10" />
+                    <BoxCollisionShape position="0,0,-55"     halfExtents="55, 10, 10" />
+                    <BoxCollisionShape position="55,0,0"      halfExtents="10, 10, 55" />
+                    <BoxCollisionShape position="-55,0,0"     halfExtents="10, 10, 55" />
+                </collisionShapes>
+            </RaceCheckPoint>
+
+            <RaceCheckPoint name="checkpoint3" position="0,700,2700" direction="0,-1,1" collisionType="static" scale="1" distance="40" checkpointindex="2" islast="false" nextcheckpoints="3,-1,-1">
+                <attached>
+                    <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+                </attached>
+                <collisionShapes>
+                    <BoxCollisionShape position="0,0,55"      halfExtents="55, 10, 10" />
+                    <BoxCollisionShape position="0,0,-55"     halfExtents="55, 10, 10" />
+                    <BoxCollisionShape position="55,0,0"      halfExtents="10, 10, 55" />
+                    <BoxCollisionShape position="-55,0,0"     halfExtents="10, 10, 55" />
+                </collisionShapes>
+            </RaceCheckPoint>
+
+            <RaceCheckPoint name="checkpoint4" position="0,-400,300" direction="0,-1,1" collisionType="static" scale="1" distance="40" checkpointindex="3" islast="true">
+                <attached>
+                    <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+                </attached>
+                <collisionShapes>
+                    <BoxCollisionShape position="0,0,55"      halfExtents="55, 10, 10" />
+                    <BoxCollisionShape position="0,0,-55"     halfExtents="55, 10, 10" />
+                    <BoxCollisionShape position="55,0,0"      halfExtents="10, 10, 55" />
+                    <BoxCollisionShape position="-55,0,0"     halfExtents="10, 10, 55" />
+                </collisionShapes>
+            </RaceCheckPoint>
+        </checkpoints>
+    </SpaceRaceManager>
+
+
+    <SpaceShip position="0,0,200" lookat="0,0,0">
       <templates>
         <Template link=spaceshipassff />
@@ -202,5 +202,5 @@
 
 
-    
+
   </Scene>
 </Level>
Index: code/trunk/data/levels/SurfaceRacePresentation.oxw
===================================================================
--- code/trunk/data/levels/SurfaceRacePresentation.oxw	(revision 9348)
+++ code/trunk/data/levels/SurfaceRacePresentation.oxw	(revision 9348)
@@ -0,0 +1,376 @@
+<LevelInfo
+ name = "Surface Race Presentation"
+ description = "just awesome 2.0"
+ screenshot = "surfaceRace.png"
+ tags = "gametype, shipselection"
+ startingships = "spaceshipassff, spaceshipghost, spaceshipspacecruiser, spaceshiprace"
+/>
+
+<?lua
+  include("stats.oxo")
+  include("HUDTemplates3.oxo")
+  include("templates/lodInformation.oxt")
+  include("templates/spaceshipRace.oxt")
+  include("templates/spaceshipAssff.oxt")
+  include("templates/spaceshipGhost.oxt")
+  include("templates/spaceshipSpacecruiser.oxt")
+  include("templates/pickupRepresentationTemplates.oxt")
+
+?>
+
+<Level
+gametype = SpaceRace
+>
+
+  <templates>
+    <Template link=lodtemplate_default />
+  </templates>
+  <?lua include("includes/notifications.oxi") ?>
+
+  <Scene
+    ambientlight = "2.0, 2.0, 2.0"
+    skybox       = "Orxonox/skyBoxClouds"
+    gravity      = "0,-75,0"
+    negativeWorldRange = "-100000, -100000, -100000"
+    positiveWorldRange = " 100000,  100000,  100000"
+    hasPhysics   = true
+  >
+
+    <Template name=PortalDefault>
+        <PortalEndPoint>
+            <attached>
+                <Model mesh="Spacegate.mesh" scale="3"/>
+            </attached>
+        </PortalEndPoint>
+    </Template>
+
+    <PortalEndPoint position="6000,8050,2500" id="1" distance="40" target="MobileEntity" design="PortalDefault" reenterDelay="0"/>
+    <PortalEndPoint position="6100,8050,-4500" id="2" distance="40" target="MobileEntity" design="PortalDefault" reenterDelay="0"/>
+    <PortalLink fromID="1" toID="2" />
+    <PortalLink fromID="2" toID="1" />
+
+  <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"/>
+
+
+    <Model position="4200,8050,-1000" scale=10 mesh="debris-pile01.mesh" shadow=true />
+    <Model position="4200,8050,-1000" scale=10 mesh="debris-pile02.mesh" shadow=true />
+    <Model position="4200,8050,-1000" scale=10 mesh="debris-pile03.mesh" shadow=true />
+
+    <MovableEntity position="-700,8090,-300" velocity="80,0,0" rotationaxis="1,0,1" rotationrate=200>
+      <attached>
+        <Model position="0,0,-20" scale=10 mesh="cokebottle.mesh" />
+      </attached>
+    </MovableEntity>
+
+
+<SpaceRaceManager>
+ <checkpoints>
+    <RaceCheckPoint name="checkpoint1" position="0,8050,-1000" direction="0,1,0" collisionType="static" scale="4" distance="150" checkpointindex="0" islast="false" nextcheckpoints="1,-1,-1">
+        <attached>
+            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+        </attached>
+    <collisionShapes>
+            <BoxCollisionShape position="0,0,220"     halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="0,0,-220"      halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="220,0,0"      halfExtents="40, 40, 220" />
+            <BoxCollisionShape position="-220,0,0"       halfExtents="40, 40, 220" />
+        </collisionShapes>
+    </RaceCheckPoint>
+
+    <RaceCheckPoint name="checkpoint2" position="1000,8050,-4000" direction="0,1,0" roll="45" collisionType="static" scale="4" distance="150" checkpointindex="1" islast="false" nextcheckpoints="2,-1,-1">
+        <attached>
+            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+        </attached>
+           <collisionShapes>
+            <BoxCollisionShape position="0,0,220"     halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="0,0,-220"      halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="220,0,0"      halfExtents="40, 40, 220" />
+            <BoxCollisionShape position="-220,0,0"       halfExtents="40, 40, 220" />
+        </collisionShapes>
+    </RaceCheckPoint>
+
+    <RaceCheckPoint name="checkpoint3" position="3000,8050,-4000" direction="0,1,0" roll="-45" collisionType="static" scale="4" distance="150" checkpointindex="2" islast="false" nextcheckpoints="3,-1,-1">
+        <attached>
+            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+        </attached>
+       <collisionShapes>
+            <BoxCollisionShape position="0,0,220"     halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="0,0,-220"      halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="220,0,0"      halfExtents="40, 40, 220" />
+            <BoxCollisionShape position="-220,0,0"       halfExtents="40, 40, 220" />
+        </collisionShapes>
+    </RaceCheckPoint>
+
+    <RaceCheckPoint name="checkpoint4" position="4000,8050,-1000" direction="0,1,0" roll="0" collisionType="static" scale="4" distance="150" checkpointindex="3" islast="false" nextcheckpoints="4,-1,-1">
+        <attached>
+            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+        </attached>
+        <collisionShapes>
+            <BoxCollisionShape position="0,0,220"     halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="0,0,-220"      halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="220,0,0"      halfExtents="40, 40, 220" />
+            <BoxCollisionShape position="-220,0,0"       halfExtents="40, 40, 220" />
+        </collisionShapes>
+    </RaceCheckPoint>
+
+    <RaceCheckPoint name="checkpoint5" position="4000,8050,0" direction="0,1,0" roll="0" collisionType="static" scale="4" distance="150" checkpointindex="4" islast="false" nextcheckpoints="5,-1,-1">
+        <attached>
+            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+        </attached>
+        <collisionShapes>
+            <BoxCollisionShape position="0,0,220"     halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="0,0,-220"      halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="220,0,0"      halfExtents="40, 40, 220" />
+            <BoxCollisionShape position="-220,0,0"       halfExtents="40, 40, 220" />
+        </collisionShapes>
+    </RaceCheckPoint>
+
+    <RaceCheckPoint name="checkpoint6" position="3000,8050,1000" direction="0,1,0" roll="45" collisionType="static" scale="4" distance="150" checkpointindex="5" islast="false" nextcheckpoints="6,-1,-1">
+        <attached>
+            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+        </attached>
+       <collisionShapes>
+            <BoxCollisionShape position="0,0,220"     halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="0,0,-220"      halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="220,0,0"      halfExtents="40, 40, 220" />
+            <BoxCollisionShape position="-220,0,0"       halfExtents="40, 40, 220" />
+        </collisionShapes>
+    </RaceCheckPoint>
+
+    <RaceCheckPoint name="checkpoint7" position="0,8050,2000" direction="0,1,0" roll="90" collisionType="static" scale="4" distance="150" checkpointindex="6" islast="false" nextcheckpoints="7,-1,-1">
+        <attached>
+            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+        </attached>
+      <collisionShapes>
+            <BoxCollisionShape position="0,0,220"     halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="0,0,-220"      halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="220,0,0"      halfExtents="40, 40, 220" />
+            <BoxCollisionShape position="-220,0,0"       halfExtents="40, 40, 220" />
+        </collisionShapes>
+    </RaceCheckPoint>
+
+    <RaceCheckPoint name="checkpoint8" position="-4000,8050,3000" direction="0,1,0" roll="45" collisionType="static" scale="4" distance="150" checkpointindex="7" islast="false" nextcheckpoints="8,-1,-1">
+        <attached>
+            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+        </attached>
+       <collisionShapes>
+            <BoxCollisionShape position="0,0,220"     halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="0,0,-220"      halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="220,0,0"      halfExtents="40, 40, 220" />
+            <BoxCollisionShape position="-220,0,0"       halfExtents="40, 40, 220" />
+        </collisionShapes>
+    </RaceCheckPoint>
+
+    <RaceCheckPoint name="checkpoint9" position="-4000,8050,5000" direction="0,1,0" roll="-45" collisionType="static" scale="4" distance="150" checkpointindex="8" islast="false" nextcheckpoints="9,-1,-1">
+        <attached>
+            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+        </attached>
+         <collisionShapes>
+            <BoxCollisionShape position="0,0,220"     halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="0,0,-220"      halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="220,0,0"      halfExtents="40, 40, 220" />
+            <BoxCollisionShape position="-220,0,0"       halfExtents="40, 40, 220" />
+        </collisionShapes>
+    </RaceCheckPoint>
+
+    <RaceCheckPoint name="checkpoint10" position="-3000,8050,6000" direction="0,1,0" roll="90" collisionType="static" scale="4" distance="150" checkpointindex="9" islast="false" nextcheckpoints="10,-1,-1">
+        <attached>
+            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+        </attached>
+       <collisionShapes>
+            <BoxCollisionShape position="0,0,220"     halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="0,0,-220"      halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="220,0,0"      halfExtents="40, 40, 220" />
+            <BoxCollisionShape position="-220,0,0"       halfExtents="40, 40, 220" />
+        </collisionShapes>
+    </RaceCheckPoint>
+
+    <RaceCheckPoint name="checkpoint11" position="0,8050,6000" direction="0,1,0" roll="90" collisionType="static" scale="4" distance="120" checkpointindex="10" islast="false" nextcheckpoints="11,-1,-1">
+        <attached>
+            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+        </attached>
+       <collisionShapes>
+            <BoxCollisionShape position="0,0,220"     halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="0,0,-220"      halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="220,0,0"      halfExtents="40, 40, 220" />
+            <BoxCollisionShape position="-220,0,0"       halfExtents="40, 40, 220" />
+        </collisionShapes>
+    </RaceCheckPoint>
+
+    <RaceCheckPoint name="checkpoint12" position="6000,8050,6000" direction="0,1,0" roll="45" collisionType="static" scale="4" distance="150" checkpointindex="11" islast="false" nextcheckpoints="12,-1,-1">
+        <attached>
+            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+        </attached>
+      <collisionShapes>
+            <BoxCollisionShape position="0,0,220"     halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="0,0,-220"      halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="220,0,0"      halfExtents="40, 40, 220" />
+            <BoxCollisionShape position="-220,0,0"       halfExtents="40, 40, 220" />
+        </collisionShapes>
+    </RaceCheckPoint>
+
+    <RaceCheckPoint name="checkpoint13" position="5500,8050,3000" direction="0,1,0" roll="0" collisionType="static" scale="4" distance="150" checkpointindex="12" islast="false" nextcheckpoints="13,-1,-1">
+        <attached>
+            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+        </attached>
+       <collisionShapes>
+            <BoxCollisionShape position="0,0,220"     halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="0,0,-220"      halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="220,0,0"      halfExtents="40, 40, 220" />
+            <BoxCollisionShape position="-220,0,0"       halfExtents="40, 40, 220" />
+        </collisionShapes>
+    </RaceCheckPoint>
+
+    <RaceCheckPoint name="checkpoint14" position="6000,8050,-5000" direction="0,1,0" roll="0" collisionType="static" scale="4" distance="150" checkpointindex="13" islast="true" >
+        <attached>
+            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+        </attached>
+       <collisionShapes>
+            <BoxCollisionShape position="0,0,220"     halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="0,0,-220"      halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="220,0,0"      halfExtents="40, 40, 220" />
+            <BoxCollisionShape position="-220,0,0"       halfExtents="40, 40, 220" />
+        </collisionShapes>
+    </RaceCheckPoint>
+</checkpoints>
+</SpaceRaceManager>
+
+ <SpawnPoint team=0 position="0,8050,0" lookat="0,8000,-8000" spawnclass=SpaceShip pawndesign=shipselection />
+
+
+    <!-- -----------------------Zylinder---------------------------- -->
+<StaticEntity position="2750,8050,6000" direction="1,0,0" roll="90"  scale="4" collisionType=static mass=100000 friction=0.01 >
+      <attached>
+    <Model position="0,0,0" mesh="cylinder.mesh" scale3D="100,100,400" />
+    <!--
+                <Model position="0,80,600" mesh="testcube.mesh" scale3D="90,18,-600" />
+        <Model position="0,-80,600" mesh="testcube.mesh" scale3D="90,18,-600" />
+        <Model position="80,0,600" mesh="testcube.mesh" scale3D="18,90,-600" />
+        <Model position="-80,0,600" mesh="testcube.mesh" scale3D="18,09,-600" />
+    -->
+
+      </attached>
+
+
+    <collisionShapes>
+
+
+        <BoxCollisionShape position="0,320,2400"            halfExtents="360,72,2400" />
+        <BoxCollisionShape position="0,-320,2400"      halfExtents="360,72,2400" />
+        <BoxCollisionShape position="320,0,2400"            halfExtents="72,360,2400" />
+        <BoxCollisionShape position="-320,0,2400"     halfExtents="72,360,2400" />
+
+
+
+        </collisionShapes>
+
+  </StaticEntity>
+
+<!-- ------------------Cube between gate 4 and 5----------------- -->
+<StaticEntity position="4465,8050,-500" direction="0,0,0"   scale="1" collisionType=static mass=100000 friction=0.01 >
+      <attached>
+    <Model position="0,0,0" mesh="blackcube.mesh" scale3D="450,600,50" />
+<!--
+                <Model position="0,0,0" mesh="testcube.mesh" scale3D="450,600,50" />
+        -->
+
+      </attached>
+
+
+    <collisionShapes>
+
+
+        <BoxCollisionShape position="0,0,0"            halfExtents="450,600,50" />
+
+        </collisionShapes>
+
+  </StaticEntity>
+
+<StaticEntity position="3535,8050,-500" direction="0,0,0"   scale="1" collisionType=static mass=100000 friction=0.01 >
+      <attached>
+    <Model position="0,0,0" mesh="blackcube.mesh" scale3D="450,600,50" />
+<!--
+                <Model position="0,0,0" mesh="testcube.mesh" scale3D="450,600,50" />
+        -->
+
+      </attached>
+
+
+    <collisionShapes>
+
+
+        <BoxCollisionShape position="0,0,0"            halfExtents="450,600,50" />
+
+        </collisionShapes>
+
+  </StaticEntity>
+
+
+
+
+    <!-- ------------------Boden----------------- -->
+  <StaticEntity position="0,0,0" direction="0,0,0" collisionType=static mass=100000 friction=0.01>
+     <attached>
+        <Model position="0,0,0" mesh="CubeGround.mesh" scale3D="8000,8000,8000" />
+      </attached>
+      <collisionShapes>
+        <BoxCollisionShape position="0,50,0" halfExtents="8000,8000,8000" />um j?:P"{
+
+      </collisionShapes>
+</StaticEntity>
+
+
+<!-- ---------------------PickUp---------------------- -->
+
+
+   <PickupSpawner pickup=smallspeedpickup position="4000,8050,0" triggerDistance="40" respawnTime="10" maxSpawnedItems="99" scale="8" />
+   <PickupSpawner pickup=mediumspeedpickup position="5500,8100,2000" triggerDistance="40" respawnTime="10" maxSpawnedItems="99" scale="8" />
+   <PickupSpawner pickup="mediumshrinkpickup" position="3000,8050,-4000" triggerDistance="40" respawnTime="60"  maxSpawnedItems="5" scale="8" />
+
+
+
+
+ <!-- ---------------asteroid ellipse----------------- -->
+
+ <?lua
+    max = 15
+    for i = 0, max, 1
+    do
+    x=-12000
+    y=10000
+    z=-12000
+
+    ?>
+    <?lua
+    for k = 1, 15, 1
+    do
+    j = math.random()
+    ?>
+
+    <MovableEntity
+      position = "<?lua print(x + math.random() * 20000) ?>,<?lua print(y + math.random() * 5000) ?>,<?lua print(z + math.random() * 20000) ?>"
+      collisionType = "dynamic"
+      linearDamping = "0.5"
+      angularDamping = "0.5"
+      collisiondamage = "100"
+      enablecollisiondamage = "true"
+      scale="<?lua print(j * 5) ?>" >
+      <attached>
+        <Model position="0,0,0" scale="<?lua print(j * 10) ?>" mesh="ast<?lua print( math.mod(i,6) + 1) ?>.mesh">
+      <?lua if k == 0 then ?><attached><!-- ---------asteroid fog----- -->
+            <ParticleEmitter position="0,0,0" source="Orxonox/Steam" />
+          </attached> <?lua end ?>
+        </Model>
+      </attached>
+      <collisionShapes>
+        <SphereCollisionShape radius="<?lua print(j * 80) ?>" />
+      </collisionShapes>
+    </MovableEntity>
+    <?lua
+    end
+    ?>
+    <?lua end ?>
+
+  </Scene>
+</Level>
+
Index: code/trunk/data/levels/asteroidField.oxw
===================================================================
--- code/trunk/data/levels/asteroidField.oxw	(revision 9257)
+++ code/trunk/data/levels/asteroidField.oxw	(revision 9348)
@@ -39,9 +39,9 @@
 
     <!-- Belt that's far away  *** TURNED OFF FOR PERFORMANCE REASONS *** -->
-    <!-- Generate asteroid field and asteroid belt -->    
+    <!-- Generate asteroid field and asteroid belt -->
     <!--
     <?lua
-    	dofile("includes/asteroidField.lua")
-    	asteroidBelt(0, 0, 0, -48, -34, 70, 100, 200, 219900, 210000, 900, 1)
+        dofile("includes/asteroidField.lua")
+        asteroidBelt(0, 0, 0, -48, -34, 70, 100, 200, 219900, 210000, 900, 1)
     ?>
     -->
@@ -50,14 +50,14 @@
     <!-- triple large belt around the planet  -->
     <?lua
-    	dofile("includes/asteroidField.lua")
-    	asteroidBelt(15000, 0, 0, 30, 0, 30, 30, 50, 7190, 7800, 250, 1)
+        dofile("includes/asteroidField.lua")
+        asteroidBelt(15000, 0, 0, 30, 0, 30, 30, 50, 7190, 7800, 250, 1)
     ?>
     <?lua
-    	dofile("includes/asteroidField.lua")
-    	asteroidBelt(15000, 0, 0, 30, 0, 30, 30, 50, 10000, 11000, 300, 1)
+        dofile("includes/asteroidField.lua")
+        asteroidBelt(15000, 0, 0, 30, 0, 30, 30, 50, 10000, 11000, 300, 1)
     ?>
     <?lua
-    	dofile("includes/asteroidField.lua")
-    	asteroidBelt(15000, 0, 0, 30, 0, 30, 30, 50, 14000, 15000, 350, 1)
+        dofile("includes/asteroidField.lua")
+        asteroidBelt(15000, 0, 0, 30, 0, 30, 30, 50, 14000, 15000, 350, 1)
     ?>
 
@@ -95,5 +95,5 @@
 
 
-    
+
   </Scene>
 </Level>
Index: code/trunk/data/levels/asteroids.oxw
===================================================================
--- code/trunk/data/levels/asteroids.oxw	(revision 9257)
+++ code/trunk/data/levels/asteroids.oxw	(revision 9348)
@@ -149,8 +149,8 @@
 
 
-    <CheckPoint name=trigger1 position="-300,300,0" scale=1 isdestination=false isfirst=true stayactive=true distance=10 addtime=30 />
-
-
-    <CheckPoint name=trigger2 position="2200,600,0" scale=3 isdestination=false stayactive=true distance=100 addtime=17>
+    <CheckPoint name=trigger1 position="-300,300,0" scale=1 isdestination=false isfirst=true stayactive=true distance=10 addtime=24 />
+
+
+    <CheckPoint name=trigger2 position="2200,600,0" scale=3 isdestination=false stayactive=true distance=100 addtime=20>
       <events>
         <activity>
@@ -203,5 +203,5 @@
 
 
-    <CheckPoint name=trigger3 position="4100,0,400" scale=3 isdestination=false stayactive=true distance=100 addtime=16>
+    <CheckPoint name=trigger3 position="4100,0,400" scale=3 isdestination=false stayactive=true distance=100 addtime=10>
       <events>
         <activity>
@@ -254,5 +254,5 @@
 
 
-    <CheckPoint name=trigger4 position="5600,400,0" scale=3 isdestination=false stayactive=true distance=100 addtime=17>
+    <CheckPoint name=trigger4 position="5600,400,0" scale=3 isdestination=false stayactive=true distance=100 addtime=10>
       <events>
         <activity>
@@ -305,5 +305,5 @@
 
 
-    <CheckPoint name=trigger5 position="7200,600,-200" scale=3 isdestination=false stayactive=true distance=100 addtime=16>
+    <CheckPoint name=trigger5 position="7200,600,-200" scale=3 isdestination=false stayactive=true distance=100 addtime=10>
       <events>
         <activity>
@@ -356,5 +356,5 @@
 
 
-    <CheckPoint name=trigger6 position="9200, 800,-800" scale=3 isdestination=false stayactive=true distance=100 addtime=22>
+    <CheckPoint name=trigger6 position="9200, 800,-800" scale=3 isdestination=false stayactive=true distance=100 addtime=15>
       <events>
         <activity>
Index: code/trunk/data/levels/docking.oxw
===================================================================
--- code/trunk/data/levels/docking.oxw	(revision 9257)
+++ code/trunk/data/levels/docking.oxw	(revision 9348)
@@ -21,5 +21,5 @@
   <Scene
    ambientlight = "0.5, 0.5, 0.5"
-   skybox       = "Orxonox/skypanoramagen1"
+   skybox       = "Orxonox/skyBoxBasic"
   >
 
Index: code/trunk/data/levels/dynamicMatch.oxw
===================================================================
--- code/trunk/data/levels/dynamicMatch.oxw	(revision 9257)
+++ code/trunk/data/levels/dynamicMatch.oxw	(revision 9348)
@@ -10,4 +10,6 @@
   include("stats.oxo")
   include("templates/spaceshipAssff.oxt")
+  include("templates/spaceshipSwallow.oxt")
+  include("templates/spaceshipPirate.oxt")
   include("templates/spaceshipGhost.oxt")
   include("dynamicMatchHUD.oxo")
@@ -39,17 +41,17 @@
 <!-- -----------12-Spawnpoints around the planet------------- -->
 <!-- inner Spawnpoints -->
-<TeamSpawnPoint team=0 position="1000,0,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff/>
-<TeamSpawnPoint team=0 position="-1000,0,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff/>
-<TeamSpawnPoint team=0 position="0,1000,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff/>
-<TeamSpawnPoint team=0 position="0,-1000,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff/>
-<TeamSpawnPoint team=0 position="0,0,1000" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff/>
-<TeamSpawnPoint team=0 position="0,0,-1000" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff/>
+<TeamSpawnPoint team=0 position="1000,0,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshippirate/>
+<TeamSpawnPoint team=0 position="-1000,0,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshippirate/>
+<TeamSpawnPoint team=0 position="0,1000,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshippirate/>
+<TeamSpawnPoint team=0 position="0,-1000,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshippirate/>
+<TeamSpawnPoint team=0 position="0,0,1000" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshippirate/>
+<TeamSpawnPoint team=0 position="0,0,-1000" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshippirate/>
 <!--outer Spawnpoints -->
-<TeamSpawnPoint team=0 position="2000,0,0" lookat="0,0,1" spawnclass=SpaceShip pawndesign=spaceshipassff/>
-<TeamSpawnPoint team=0 position="-2000,0,0" lookat="0,0,-1" spawnclass=SpaceShip pawndesign=spaceshipassff/>
-<TeamSpawnPoint team=0 position="0,2000,0" lookat="0,1,0" spawnclass=SpaceShip pawndesign=spaceshipassff/>
-<TeamSpawnPoint team=0 position="0,-2000,0" lookat="0,-1,0" spawnclass=SpaceShip pawndesign=spaceshipassff/>
-<TeamSpawnPoint team=0 position="0,0,2000" lookat="1,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff/>
-<TeamSpawnPoint team=0 position="0,0,-2000" lookat="-1,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff/>
+<TeamSpawnPoint team=0 position="2000,0,0" lookat="0,0,1" spawnclass=SpaceShip pawndesign=spaceshippirate/>
+<TeamSpawnPoint team=0 position="-2000,0,0" lookat="0,0,-1" spawnclass=SpaceShip pawndesign=spaceshippirate/>
+<TeamSpawnPoint team=0 position="0,2000,0" lookat="0,1,0" spawnclass=SpaceShip pawndesign=spaceshippirate/>
+<TeamSpawnPoint team=0 position="0,-2000,0" lookat="0,-1,0" spawnclass=SpaceShip pawndesign=spaceshippirate/>
+<TeamSpawnPoint team=0 position="0,0,2000" lookat="1,0,0" spawnclass=SpaceShip pawndesign=spaceshippirate/>
+<TeamSpawnPoint team=0 position="0,0,-2000" lookat="-1,0,0" spawnclass=SpaceShip pawndesign=spaceshippirate/>
 
 <?lua
@@ -64,7 +66,7 @@
                 createSpaceStationPar(0,2,1,2,1,4,1,50)
               ?>
-                <TeamSpawnPoint team=2 position="20,20,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff/>
-                <TeamSpawnPoint team=2 position="-20,-20,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff/>
-                <TeamSpawnPoint team=2 position="-10,10,20" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff/>
+                <TeamSpawnPoint team=2 position="20,20,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshippirate/>
+                <TeamSpawnPoint team=2 position="-20,-20,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshippirate/>
+                <TeamSpawnPoint team=2 position="-10,10,20" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshippirate/>
             </attached>
           </StaticEntity>
@@ -90,8 +92,8 @@
       <attached>
         <Model position="0,0,0" scale="<?lua print(j * 10) ?>" mesh="ast<?lua print( math.mod(i,6) + 1) ?>.mesh">
-	  <attached><!-- ---------asteroid fog----- -->
+          <attached><!-- ---------asteroid fog----- -->
             <ParticleEmitter position="0,0,0" source="Orxonox/Steam" />
           </attached>
-	</Model>
+        </Model>
       </attached>
       <?lua if i == 5 then ?><collisionShapes>
Index: code/trunk/data/levels/events.oxw
===================================================================
--- code/trunk/data/levels/events.oxw	(revision 9257)
+++ code/trunk/data/levels/events.oxw	(revision 9348)
@@ -22,5 +22,5 @@
   <Scene
    ambientlight = "0.5, 0.5, 0.5"
-   skybox       = "Orxonox/skypanoramagen1"
+   skybox       = "Orxonox/skyBoxBasic"
   >
     <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" />
Index: code/trunk/data/levels/fightInOurBack.oxw
===================================================================
--- code/trunk/data/levels/fightInOurBack.oxw	(revision 9257)
+++ code/trunk/data/levels/fightInOurBack.oxw	(revision 9348)
@@ -121,5 +121,5 @@
     <Scene
      ambientlight="0.8,0.8,0.8"
-     skybox="Orxonox/skypanoramagen1"
+     skybox="Orxonox/skyBoxBasic"
     >
 
Index: code/trunk/data/levels/includes/CuboidSpaceStation.lua
===================================================================
--- code/trunk/data/levels/includes/CuboidSpaceStation.lua	(revision 9257)
+++ code/trunk/data/levels/includes/CuboidSpaceStation.lua	(revision 9348)
@@ -1,18 +1,18 @@
 ----------------------------------------------------------------------------------------------------
 -- This lua script creates a totally random generated space station for the orxonox computer game!--
--- (c) Wallah 2008, published under GPL licence!												  --
+-- (c) Wallah 2008, published under GPL licence!                                                  --
 ----------------------------------------------------------------------------------------------------
 
 --------------------------------------------------------------------------------------------------------------------------------------------------------------------
--- IMPORTANT: If you need more parameters, do the following: copy the actual function (just the headline and the end statement) to the end of the file,			  --
+-- IMPORTANT: If you need more parameters, do the following: copy the actual function (just the headline and the end statement) to the end of the file,           --
 -- like I did with createSpaceStation() and let that function call the new function where you can modify the parameters. For all parameters which the old function--
 -- doesn't have you just give the standard default values, which I have defined. This is to make sure, that anyone else who uses the old function can still use it--
--- the same way he/she always did. If you want a function with less parameters, just create a new one at the end of the file and call this function with some	  --
--- default values. REMEMBER: Function overloading is not possible, be sure to call your function differently from others already existing ones.					  --
+-- the same way he/she always did. If you want a function with less parameters, just create a new one at the end of the file and call this function with some     --
+-- default values. REMEMBER: Function overloading is not possible, be sure to call your function differently from others already existing ones.                   --
 --------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
 -- This function creates a randomly generated space station.
 -- The first argument ranSeed, must be 0, or a positive Integer, if it is 0 your space station is always chosen randomly, if you give an integer,
---	your space station will be generated randomly, but once you have the space station it will always be the same.
+--  your space station will be generated randomly, but once you have the space station it will always be the same.
 -- The argument xLength defines how large the space station will be into the x-direction.
 -- The argument xVar defines how much the space station will vary at the ends in x-direction, this is so that the station is no cube.
@@ -37,7 +37,7 @@
 -- Create a randomseed, so that the math.random() function is actually random.
 if ranSeed == 0 then
-	math.randomseed(os.time())
+    math.randomseed(os.time())
 else
-	math.randomseed(ranSeed)
+    math.randomseed(ranSeed)
 end
 -- End create randomseed.
@@ -52,9 +52,9 @@
 sSSize=30
 if xLength>=yLength and xLength>=zLength then
-	sSSize=xLength+20
+    sSSize=xLength+20
 elseif yLength>=xLength and yLength>=zLength then
-	sSSize=yLength+20
+    sSSize=yLength+20
 elseif zLength>=xLength and zLength>=yLength then
-	sSSize=zLength+20
+    sSSize=zLength+20
 end
 -- Define how many parts the space station has, this value has to be exact, so be sure to increment it if you're adding a new part.
@@ -78,5 +78,5 @@
 pDim=6
 -- Define the griddimension, be sure this value matches the size of a single space station part plus the size of a connection part, which means your parts must be:
---	integer*(gridDim-connectionSize), then integer tells you how many griddimensions your part is.
+--  integer*(gridDim-connectionSize), then integer tells you how many griddimensions your part is.
 gridDim=2.25
 -- End define global parameters.
@@ -89,24 +89,24 @@
 -- The parameters x,y,z are the axis of the space station, which iterate to sSSize, the maximal size of the space station.
 -- The griddimension, this word I will use later, means that the distance of a point to the next point is gridDim in the game, so the absolute x-axis is x*gridDim*sSScale,
---	and so on for the other dimensions y and z.
+--  and so on for the other dimensions y and z.
 -- grid[x][y][z][0] contains 0 if there is no part at the position (x,y,z), otherwise 1.
 -- grid[x][y][z][1] contains 0 if there is no connection from (x,y,z) in x-direction, "+" if there is one in the positive x-direction,
---	"-" if there is one in the negative x-direction, "+-" if there are in both x-directions.
+--  "-" if there is one in the negative x-direction, "+-" if there are in both x-directions.
 -- grid[x][y][z][2] contains 0 if there is no connection from (x,y,z) in y-direction, "+" if there is one in the positive y-direction,
---	"-" if there is one in the negative y-direction, "+-" if there are in both y-directions.
+--  "-" if there is one in the negative y-direction, "+-" if there are in both y-directions.
 -- grid[x][y][z][3] contains 0 if there is no connection from (x,y,z) in z-direction, "+" if there is one in the positive z-direction,
---	"-" if there is one in the negative z-direction, "+-" if there are in both z-directions.
+--  "-" if there is one in the negative z-direction, "+-" if there are in both z-directions.
 grid = {}
 for x=-math.floor(sSSize/2),math.floor(sSSize/2) do
-	grid[x] = {}
-	for y=-math.floor(sSSize/2),math.floor(sSSize/2) do
-		grid[x][y]= {}
-		for z=-math.floor(sSSize/2),math.floor(sSSize/2) do
-			grid[x][y][z]={}
-			for i=0,3 do
-				grid[x][y][z][i]=0
-			end
-		end
-	end
+    grid[x] = {}
+    for y=-math.floor(sSSize/2),math.floor(sSSize/2) do
+        grid[x][y]= {}
+        for z=-math.floor(sSSize/2),math.floor(sSSize/2) do
+            grid[x][y][z]={}
+            for i=0,3 do
+                grid[x][y][z][i]=0
+            end
+        end
+    end
 end
 -- End create 4-dim grid.
@@ -119,37 +119,37 @@
 -- The first parameter i, tells us how many parts fit into the array, so it iterates from 1 to sSParts, each part has his own value i.
 -- The second, third and fourth parameters are the relative coordinates of the part, you have to start at (0,0,0) and be sure you fill the array into the right direction.
---	A short example: your part is 2 griddimensions long and you place it in the game, that the relative coordinate point is at (0,0,0) and the part lies in the positive
---	z-axis, then you have to use the coordinate point (0,0,1).
+--  A short example: your part is 2 griddimensions long and you place it in the game, that the relative coordinate point is at (0,0,0) and the part lies in the positive
+--  z-axis, then you have to use the coordinate point (0,0,1).
 -- The fifth parameter is an array with size 4, at index=0, you have to set 1 if your part covers the gridpoint at (x,y,z), otherwise 0.
---	At index=1,2,3 you define the possible connection directions (1 for x, 2 for y and 3 for z), be sure to use the notation from above (0, "+-", "+", "-").
+--  At index=1,2,3 you define the possible connection directions (1 for x, 2 for y and 3 for z), be sure to use the notation from above (0, "+-", "+", "-").
 bodyParts={}
 for i=1,sSParts do
-	bodyParts[i]={}
-	for x=-math.floor(pDim/2),math.floor(pDim/2) do
-		bodyParts[i][x]={}
-		for y=-math.floor(pDim/2),math.floor(pDim/2) do
-			bodyParts[i][x][y]={}
-			for z=-math.floor(pDim/2),math.floor(pDim/2) do
-				bodyParts[i][x][y][z]={}
-				for k=0,3 do
-					bodyParts[i][x][y][z][k]=0
-				end
-			end
-		end
-	end
-	-- This contains the name of the mesh file.
-	bodyParts[i][0][0][0][4]=""
-	-- This contains the first possible rotation of your part, pitch=... yaw=... roll=... .
-	bodyParts[i][0][0][0][5]=""
-	-- This contains the second possible rotation of your part, pitch=... yaw=... roll=... .
-	bodyParts[i][0][0][0][6]=""
-	-- This contains the third possible rotation of your part, pitch=... yaw=... roll=... .
-	bodyParts[i][0][0][0][7]=""
-	-- Contains the movement rotation, rotationaxis=... rotationrate=... .
-	bodyParts[i][0][0][0][8]=""
-	-- Contains the attachment, if your part has an attachment, e.g. <ParticleEmitter .../>.
-	bodyParts[i][0][0][0][9]=""
-	-- Contains how many of this part you want to attach to your space station.
-	bodyParts[i][0][0][0][10]=1
+    bodyParts[i]={}
+    for x=-math.floor(pDim/2),math.floor(pDim/2) do
+        bodyParts[i][x]={}
+        for y=-math.floor(pDim/2),math.floor(pDim/2) do
+            bodyParts[i][x][y]={}
+            for z=-math.floor(pDim/2),math.floor(pDim/2) do
+                bodyParts[i][x][y][z]={}
+                for k=0,3 do
+                    bodyParts[i][x][y][z][k]=0
+                end
+            end
+        end
+    end
+    -- This contains the name of the mesh file.
+    bodyParts[i][0][0][0][4]=""
+    -- This contains the first possible rotation of your part, pitch=... yaw=... roll=... .
+    bodyParts[i][0][0][0][5]=""
+    -- This contains the second possible rotation of your part, pitch=... yaw=... roll=... .
+    bodyParts[i][0][0][0][6]=""
+    -- This contains the third possible rotation of your part, pitch=... yaw=... roll=... .
+    bodyParts[i][0][0][0][7]=""
+    -- Contains the movement rotation, rotationaxis=... rotationrate=... .
+    bodyParts[i][0][0][0][8]=""
+    -- Contains the attachment, if your part has an attachment, e.g. <ParticleEmitter .../>.
+    bodyParts[i][0][0][0][9]=""
+    -- Contains how many of this part you want to attach to your space station.
+    bodyParts[i][0][0][0][10]=1
 end
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -193,5 +193,5 @@
 
 -- Insert the CuboidConnectionBody, it is three griddimensions long and one wide and high and can have only connections at griddimension 1
---	(except the side in direction of griddimension 2) and griddimension 3 (except the side in direction of griddimension 2).
+--  (except the side in direction of griddimension 2) and griddimension 3 (except the side in direction of griddimension 2).
 bodyParts[3][0][0][0][4]="CuboidConnBody.mesh"
 bodyParts[3][0][0][0][5]="pitch=-90"
@@ -373,15 +373,15 @@
 --This function actualizes the grid, which I have to call always after I have added a new part to the space station.
 function actualizeGrid(Index,x,y,z)
-	for i=math.floor(-pDim/2)+1,math.floor(pDim/2) do
-		for j=math.floor(-pDim/2)+1,math.floor(pDim/2) do
-			for k=math.floor(-pDim/2)+1,math.floor(pDim/2) do
-				if bodyParts[Index][i][j][k][0] == 1 then
-					for l=0,3 do
-						grid[x+i][y+j][z+k][l] = bodyParts[Index][i][j][k][l]
-					end
-				end
-			end
-		end
-	end
+    for i=math.floor(-pDim/2)+1,math.floor(pDim/2) do
+        for j=math.floor(-pDim/2)+1,math.floor(pDim/2) do
+            for k=math.floor(-pDim/2)+1,math.floor(pDim/2) do
+                if bodyParts[Index][i][j][k][0] == 1 then
+                    for l=0,3 do
+                        grid[x+i][y+j][z+k][l] = bodyParts[Index][i][j][k][l]
+                    end
+                end
+            end
+        end
+    end
 end
 -- End actualizeGrid.
@@ -390,17 +390,17 @@
 -- If the part fits there it returns 1, otherwise 0.
 function checkPart(Index,x,y,z)
-	check=1
-	for i=math.floor(-pDim/2)+1,math.floor(pDim/2) do
-		for j=math.floor(-pDim/2)+1,math.floor(pDim/2) do
-			for k=math.floor(-pDim/2)+1,math.floor(pDim/2) do
-				-- If the part occupies the position (i,j,k), the grid must be empty there ((x+i, y+j, z+k)==0), if not, check is zero,
-				--	which means that the part doesn't fit there.
-				if bodyParts[Index][i][j][k][0] == 1 and grid[x+i][y+j][z+k][0] == 1 then
-					check=0
-				end
-			end
-		end
-	end
-	return check
+    check=1
+    for i=math.floor(-pDim/2)+1,math.floor(pDim/2) do
+        for j=math.floor(-pDim/2)+1,math.floor(pDim/2) do
+            for k=math.floor(-pDim/2)+1,math.floor(pDim/2) do
+                -- If the part occupies the position (i,j,k), the grid must be empty there ((x+i, y+j, z+k)==0), if not, check is zero,
+                --  which means that the part doesn't fit there.
+                if bodyParts[Index][i][j][k][0] == 1 and grid[x+i][y+j][z+k][0] == 1 then
+                    check=0
+                end
+            end
+        end
+    end
+    return check
 end
 -- End checkPart function.
@@ -408,36 +408,36 @@
 -- This function prints the model with tempPartIndex in the bodyParts array at position lx,ly,lz.
 -- If you need to rotate the model around his own axis, then you have to set movEntity true and define the details of the rotation in
---	bodyParts[tempPartIndex][0][0][0][8].
+--  bodyParts[tempPartIndex][0][0][0][8].
 -- If your model needs to be rotated like bodyParts[tempPartIndex][0][0][0][5], then side must be 1, for bodyParts[tempPartIndex][0][0][0][6] side must be 2,
---	for bodyParts[tempPartIndex][0][0][0][7] side must be 3.
+--  for bodyParts[tempPartIndex][0][0][0][7] side must be 3.
 function printModel(lx,ly,lz,tempPartIndex,movEntity,side)
-	if movEntity == true then
-		print("<MovableEntity scale=1 position=\"") print(lx*gridDim*sSScale) print(",") print(ly*gridDim*sSScale) print(",") print(lz*gridDim*sSScale) print("\" ")
-		print(bodyParts[tempPartIndex][0][0][0][8]) print(">")
-		print("<attached>")
-		lx=0 ly=0 lz=0
-	end
-
-	print("<Model position=\"") print(lx*gridDim*sSScale) print(",") print(ly*gridDim*sSScale) print(",") print(lz*gridDim*sSScale)
-	print("\" scale=") print(sSScale) print(" mesh= \"") print(bodyParts[tempPartIndex][0][0][0][4]) print("\"")
-
-		if side == 1 then
-			print(bodyParts[tempPartIndex][0][0][0][5]) print(">")
-		elseif side == 2 then
-			print(bodyParts[tempPartIndex][0][0][0][6]) print(">")
-		elseif side == 3 then
-			print(bodyParts[tempPartIndex][0][0][0][7]) print(">")
-		end
-
-		print("<attached>")
-			print(bodyParts[tempPartIndex][0][0][0][9])
-		print("</attached>")
-
-	print("</Model>")
-
-	if movEntity == true then
-		print("</attached>")
-		print("</MovableEntity>")
-	end
+    if movEntity == true then
+        print("<MovableEntity scale=1 position=\"") print(lx*gridDim*sSScale) print(",") print(ly*gridDim*sSScale) print(",") print(lz*gridDim*sSScale) print("\" ")
+        print(bodyParts[tempPartIndex][0][0][0][8]) print(">")
+        print("<attached>")
+        lx=0 ly=0 lz=0
+    end
+
+    print("<Model position=\"") print(lx*gridDim*sSScale) print(",") print(ly*gridDim*sSScale) print(",") print(lz*gridDim*sSScale)
+    print("\" scale=") print(sSScale) print(" mesh= \"") print(bodyParts[tempPartIndex][0][0][0][4]) print("\"")
+
+        if side == 1 then
+            print(bodyParts[tempPartIndex][0][0][0][5]) print(">")
+        elseif side == 2 then
+            print(bodyParts[tempPartIndex][0][0][0][6]) print(">")
+        elseif side == 3 then
+            print(bodyParts[tempPartIndex][0][0][0][7]) print(">")
+        end
+
+        print("<attached>")
+            print(bodyParts[tempPartIndex][0][0][0][9])
+        print("</attached>")
+
+    print("</Model>")
+
+    if movEntity == true then
+        print("</attached>")
+        print("</MovableEntity>")
+    end
 end
 -- End function printModel().
@@ -446,40 +446,40 @@
 -- The arguments lx,ly,lz are the coordinates of the grid, where you want to set the part.
 -- The arguments xAxis,yAxis,zAxis can be 0 or 1, but only one argument out of the three can be 1. This means two of them must always be zero. You have to set xAxis to one,
---	if your part is attached to a side, which faces into the x-direction (negative or positive, this is later specified with Dir), that means the x-Axis is a normal vector
---	of the side to which you want to attach the part. The same for yAxis and zAxis.
+--  if your part is attached to a side, which faces into the x-direction (negative or positive, this is later specified with Dir), that means the x-Axis is a normal vector
+--  of the side to which you want to attach the part. The same for yAxis and zAxis.
 -- The argument Dir must be 1 if your side, where you want to attach the part, faces into the positive direction, -1 if the side faces into the negative direction. The side
---	faces into the positive direction means, that the side of the side where the part will be attached is directed into the direction of the positive direction of the
---	corresponding axis.
+--  faces into the positive direction means, that the side of the side where the part will be attached is directed into the direction of the positive direction of the
+--  corresponding axis.
 -- The argument index is the index of the part for the bodyParts array.
 -- The argument printMovEnt must be false if your part doesn't need to be attached to an extra MovableEntity. If your part must be attached to an extra MovableEntity
---	this argument must be true. The extra MovableEntity is used to rotate the part around his own axis, or something like that.
+--  this argument must be true. The extra MovableEntity is used to rotate the part around his own axis, or something like that.
 -- The argument printSide is like the argument side of the printModel() function. It defines how your part will be rotated. Read the commentary there.
 -- The function returns 0 if the part couldn't be set, because it did not fit there or there was no side to attach the part. It returns 1 if the part is successfully set.
 function setPart(lx,ly,lz,xAxis,yAxis,zAxis,Dir,index,printMovEnt,printSide)
 
-	partSet=0
-	-- For the bodyParts array I use 1 as x-, 2 as y- and 3 as z-Axis for the definition in which directions a part can have connections.
-	coord=1*xAxis+2*yAxis+3*zAxis
-	-- If I try to attach the part from the positive direction to the side of the space station, the part of the station (where I want to attach the new part) must have
-	--	a connection into the positive direction. Otherwise I look from the negative side and so the part of the station must have a connection into the negative direction.
-	if Dir==1 then
-		conn="+"
-	elseif Dir==-1 then
-		conn="-"
-	end
-	-- I look from the direction defined through Dir, and here I check, whether I have reached a side of the space station, which means at position lx,ly,lz is nothing and
-	--	at the next position is a part which can have a connection into the direction from where I look.
-	if grid[lx][ly][lz][0] == 0 and grid[lx+(-1*xAxis*Dir)][ly+(-1*yAxis*Dir)][lz+(-1*zAxis*Dir)][0] == 1 and (grid[lx+(-1*xAxis*Dir)][ly+(-1*yAxis*Dir)][lz+(-1*zAxis*Dir)][coord]=="+-" or grid[lx+(-1*xAxis*Dir)][ly+(-1*yAxis*Dir)][lz+(-1*zAxis*Dir)][coord]==conn) then
-		-- This checks whether the part fits at that position or not.
-		check=checkPart(index,lx,ly,lz)
-		if check == 1 then
-			-- This prints the part.
-			printModel(lx,ly,lz,index,printMovEnt,printSide)
-			partSet=1
-			-- This actualizes the grid array with the values of the array bodyParts at the position index.
-			actualizeGrid(index,lx,ly,lz)
-		end
-	end
-	return partSet
+    partSet=0
+    -- For the bodyParts array I use 1 as x-, 2 as y- and 3 as z-Axis for the definition in which directions a part can have connections.
+    coord=1*xAxis+2*yAxis+3*zAxis
+    -- If I try to attach the part from the positive direction to the side of the space station, the part of the station (where I want to attach the new part) must have
+    --  a connection into the positive direction. Otherwise I look from the negative side and so the part of the station must have a connection into the negative direction.
+    if Dir==1 then
+        conn="+"
+    elseif Dir==-1 then
+        conn="-"
+    end
+    -- I look from the direction defined through Dir, and here I check, whether I have reached a side of the space station, which means at position lx,ly,lz is nothing and
+    --  at the next position is a part which can have a connection into the direction from where I look.
+    if grid[lx][ly][lz][0] == 0 and grid[lx+(-1*xAxis*Dir)][ly+(-1*yAxis*Dir)][lz+(-1*zAxis*Dir)][0] == 1 and (grid[lx+(-1*xAxis*Dir)][ly+(-1*yAxis*Dir)][lz+(-1*zAxis*Dir)][coord]=="+-" or grid[lx+(-1*xAxis*Dir)][ly+(-1*yAxis*Dir)][lz+(-1*zAxis*Dir)][coord]==conn) then
+        -- This checks whether the part fits at that position or not.
+        check=checkPart(index,lx,ly,lz)
+        if check == 1 then
+            -- This prints the part.
+            printModel(lx,ly,lz,index,printMovEnt,printSide)
+            partSet=1
+            -- This actualizes the grid array with the values of the array bodyParts at the position index.
+            actualizeGrid(index,lx,ly,lz)
+        end
+    end
+    return partSet
 end
 -- End function setPart().
@@ -490,45 +490,45 @@
 -- The argument parts is the number of different parts which you want to attach to a side.
 function spiralSet(xAxis,yAxis,zAxis,Dir,index,parts,printMovEnt,printSide)
-	if index[0] ~= false then
-		-- The array vector contains the actual position where you try to set the part. vector[0],vector[1] and vector[3] contains the x,y,z-coordinate.
-		vector={}
-		-- This must be done, because there are different sides from where I try to attach a part.
-		coord1=1*yAxis+2*zAxis
-		coord2=math.mod(coord1+1,3)
-		coord3=math.mod(coord2+1,3)
-
-		for pc=1,parts do
-			tempIndex = index[pc]
-			for eachPart=1,bodyParts[tempIndex][0][0][0][10] do
-				partSet=0
-				vector[coord1]=math.floor(Dir*sSSize/2)-2*Dir
-				while vector[coord1]~=math.floor(-1*Dir*sSSize/2)+2*Dir and partSet==0 do
-					round=0
-					while round<=math.floor(sSSize/2)-2 and partSet==0 do
-						vector[coord2]=round
-						vector[coord3]=-round
-						while vector[coord3]<=round and partSet==0 do
-							partSet=setPart(vector[0],vector[1],vector[2],xAxis,yAxis,zAxis,Dir,tempIndex,printMovEnt,printSide)
-							vector[coord3]=vector[coord3]+1
-						end
-						while vector[coord2]>=-round and partSet==0 do
-							partSet=setPart(vector[0],vector[1],vector[2],xAxis,yAxis,zAxis,Dir,tempIndex,printMovEnt,printSide)
-							vector[coord2]=vector[coord2]-1
-						end
-						while vector[coord3]>-round and partSet==0 do
-							partSet=setPart(vector[0],vector[1],vector[2],xAxis,yAxis,zAxis,Dir,tempIndex,printMovEnt,printSide)
-							vector[coord3]=vector[coord3]-1
-						end
-						while vector[coord2]<=round and partSet==0 do
-							partSet=setPart(vector[0],vector[1],vector[2],xAxis,yAxis,zAxis,Dir,tempIndex,printMovEnt,printSide)
-							vector[coord2]=vector[coord2]+1
-						end
-						round=round+1
-					end
-					vector[coord1]=vector[coord1]-Dir
-				end
-			end
-		end
-	end
+    if index[0] ~= false then
+        -- The array vector contains the actual position where you try to set the part. vector[0],vector[1] and vector[3] contains the x,y,z-coordinate.
+        vector={}
+        -- This must be done, because there are different sides from where I try to attach a part.
+        coord1=1*yAxis+2*zAxis
+        coord2=math.mod(coord1+1,3)
+        coord3=math.mod(coord2+1,3)
+
+        for pc=1,parts do
+            tempIndex = index[pc]
+            for eachPart=1,bodyParts[tempIndex][0][0][0][10] do
+                partSet=0
+                vector[coord1]=math.floor(Dir*sSSize/2)-2*Dir
+                while vector[coord1]~=math.floor(-1*Dir*sSSize/2)+2*Dir and partSet==0 do
+                    round=0
+                    while round<=math.floor(sSSize/2)-2 and partSet==0 do
+                        vector[coord2]=round
+                        vector[coord3]=-round
+                        while vector[coord3]<=round and partSet==0 do
+                            partSet=setPart(vector[0],vector[1],vector[2],xAxis,yAxis,zAxis,Dir,tempIndex,printMovEnt,printSide)
+                            vector[coord3]=vector[coord3]+1
+                        end
+                        while vector[coord2]>=-round and partSet==0 do
+                            partSet=setPart(vector[0],vector[1],vector[2],xAxis,yAxis,zAxis,Dir,tempIndex,printMovEnt,printSide)
+                            vector[coord2]=vector[coord2]-1
+                        end
+                        while vector[coord3]>-round and partSet==0 do
+                            partSet=setPart(vector[0],vector[1],vector[2],xAxis,yAxis,zAxis,Dir,tempIndex,printMovEnt,printSide)
+                            vector[coord3]=vector[coord3]-1
+                        end
+                        while vector[coord2]<=round and partSet==0 do
+                            partSet=setPart(vector[0],vector[1],vector[2],xAxis,yAxis,zAxis,Dir,tempIndex,printMovEnt,printSide)
+                            vector[coord2]=vector[coord2]+1
+                        end
+                        round=round+1
+                    end
+                    vector[coord1]=vector[coord1]-Dir
+                end
+            end
+        end
+    end
 end
 -- End function spiralSet().
@@ -554,35 +554,35 @@
 xMax=math.random(math.floor(xLength/2),math.floor(xLength/2)+xVar)
 while x<xMax do
-	-- The same for the y- and z-direction.
-	y=math.random(-math.floor(yLength/2),-math.floor(yLength/2)+yVar)
-	yMax=math.random(math.floor(yLength/2),math.floor(yLength/2)+yVar)
-	while y<yMax do
-		yMax=math.random(math.floor(yLength/2),math.floor(yLength/2)+yVar)
-		z=math.random(-math.floor(zLength/2),-math.floor(zLength/2)+zVar)
-		zMax=math.random(math.floor(zLength/2),math.floor(zLength/2)+zVar)
-		while z<zMax do
-			-- This loop choses a bodypart, which fits at position (x,y,z).
-			-- If after the fifth time the part does still not fit we terminate the loop and set no part at postition (x,y,z).
-			partSet=0
-			counter=0
-			while counter<5 and partSet==0 do
-				-- This choses randomly a bodyPartIndex, which is the index used for the parts in the array bodyParts.
-				tempBodyPartIndex=math.random(1,sSBodyParts)
-				check=checkPart(tempBodyPartIndex,x,y,z)
-				-- If check == 1, this means that the part fits there, so we put it there and break the while true loop, to go on.
-				if check == 1 then
-					-- This prints the chosen part at position (x*gridDim*sSScale,y*gridDim*sSScale,z*gridDim*sSScale).
-					printModel(x,y,z,tempBodyPartIndex,false,1)
-					-- This actualizes the grid array with the values of the array bodyParts at the position tempBodyPartIndex, which is our randomly chosen part.
-					actualizeGrid(tempBodyPartIndex,x,y,z)
-					partSet=1
-				end
-				counter=counter+1
-			end
-			z=z+1
-		end
-		y=y+1
-	end
-	x=x+1
+    -- The same for the y- and z-direction.
+    y=math.random(-math.floor(yLength/2),-math.floor(yLength/2)+yVar)
+    yMax=math.random(math.floor(yLength/2),math.floor(yLength/2)+yVar)
+    while y<yMax do
+        yMax=math.random(math.floor(yLength/2),math.floor(yLength/2)+yVar)
+        z=math.random(-math.floor(zLength/2),-math.floor(zLength/2)+zVar)
+        zMax=math.random(math.floor(zLength/2),math.floor(zLength/2)+zVar)
+        while z<zMax do
+            -- This loop choses a bodypart, which fits at position (x,y,z).
+            -- If after the fifth time the part does still not fit we terminate the loop and set no part at postition (x,y,z).
+            partSet=0
+            counter=0
+            while counter<5 and partSet==0 do
+                -- This choses randomly a bodyPartIndex, which is the index used for the parts in the array bodyParts.
+                tempBodyPartIndex=math.random(1,sSBodyParts)
+                check=checkPart(tempBodyPartIndex,x,y,z)
+                -- If check == 1, this means that the part fits there, so we put it there and break the while true loop, to go on.
+                if check == 1 then
+                    -- This prints the chosen part at position (x*gridDim*sSScale,y*gridDim*sSScale,z*gridDim*sSScale).
+                    printModel(x,y,z,tempBodyPartIndex,false,1)
+                    -- This actualizes the grid array with the values of the array bodyParts at the position tempBodyPartIndex, which is our randomly chosen part.
+                    actualizeGrid(tempBodyPartIndex,x,y,z)
+                    partSet=1
+                end
+                counter=counter+1
+            end
+            z=z+1
+        end
+        y=y+1
+    end
+    x=x+1
 end
 -- End attach all bodyparts.
@@ -593,5 +593,5 @@
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 -- Attach backParts, if there are some.
-	spiralSet(0,0,1,1,backPartsIndex,backParts,false,1)
+    spiralSet(0,0,1,1,backPartsIndex,backParts,false,1)
 -- End attach backParts.
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -599,5 +599,5 @@
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 -- Attach frontParts, if there are.
-	spiralSet(0,0,1,-1,frontPartsIndex,frontParts,false,1)
+    spiralSet(0,0,1,-1,frontPartsIndex,frontParts,false,1)
 -- End attach frontParts.
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -605,5 +605,5 @@
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 -- Attach parts on the left side of the space station.
-	spiralSet(1,0,0,-1,leftSidePartsIndex,leftSideParts,true,1)
+    spiralSet(1,0,0,-1,leftSidePartsIndex,leftSideParts,true,1)
 -- End attach left side parts.
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -611,5 +611,5 @@
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 -- Attach parts on the right side of the space station.
-	spiralSet(1,0,0,1,rightSidePartsIndex,rightSideParts,true,2)
+    spiralSet(1,0,0,1,rightSidePartsIndex,rightSideParts,true,2)
 -- End attach right side parts.
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -617,5 +617,5 @@
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 -- Attach parts on top of the space station.
-	spiralSet(0,1,0,1,topPartsIndex,topParts,true,1)
+    spiralSet(0,1,0,1,topPartsIndex,topParts,true,1)
 -- End attach top parts.
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -627,26 +627,26 @@
 -- This iterates through the whole grid array.
 if connPartsIndex[0] ~= false then
-	for x=math.floor(-sSSize/2)+2,math.floor(sSSize/2)-2 do
-		for y=math.floor(-sSSize/2)+2,math.floor(sSSize/2)-2 do
-			for z=math.floor(-sSSize/2)+2,math.floor(sSSize/2)-2 do
-				tempConnPartIndex=connPartsIndex[math.random(1,connParts)]
-				-- This checks whether there has to be a connection part between (x,y,z) and (x+1,y,z) or not. First it checks if there is a part at (x,y,z) and
-				--	then it checks if that part can have a connection into the positive x-direction, if it can, it checks if there is a part at (x+1,y,z) and
-				--	if that part can have a connection into the negative x-direction, if both can, it prints the xml code to set a connection part.
-				if grid[x][y][z][0]==1 and (grid[x][y][z][1]=="+" or grid[x][y][z][1]=="+-") and grid[x+1][y][z][0]==1 and (grid[x+1][y][z][1]=="-" or grid[x+1][y][z][1]=="+-") then
-					-- This prints the connection part, the +1/2 is because the connection is set exactly in the middle of two gridpoints.
-					printModel(x+1/2,y,z,tempConnPartIndex,false,1)
-				end
-				-- The same as in the x-direction, but for the y-direction.
-				if grid[x][y][z][0]==1 and ( grid[x][y][z][2]=="+" or grid[x][y][z][2]=="+-" ) and grid[x][y+1][z][0]==1 and ( grid[x][y+1][z][2]=="-" or grid[x][y+1][z][2]=="+-" ) then
-					printModel(x,y+1/2,z,tempConnPartIndex,false,2)
-				end
-				-- The same as in the x-direction, but for the z-direction.
-				if grid[x][y][z][0]==1 and ( grid[x][y][z][3]=="+" or grid[x][y][z][3]=="+-" ) and grid[x][y][z+1][0]==1 and ( grid[x][y][z+1][3]=="-" or grid[x][y][z+1][3]=="+-" ) then
-					printModel(x,y,z+1/2,tempConnPartIndex,false,3)
-				end
-			end
-		end
-	end
+    for x=math.floor(-sSSize/2)+2,math.floor(sSSize/2)-2 do
+        for y=math.floor(-sSSize/2)+2,math.floor(sSSize/2)-2 do
+            for z=math.floor(-sSSize/2)+2,math.floor(sSSize/2)-2 do
+                tempConnPartIndex=connPartsIndex[math.random(1,connParts)]
+                -- This checks whether there has to be a connection part between (x,y,z) and (x+1,y,z) or not. First it checks if there is a part at (x,y,z) and
+                --  then it checks if that part can have a connection into the positive x-direction, if it can, it checks if there is a part at (x+1,y,z) and
+                --  if that part can have a connection into the negative x-direction, if both can, it prints the xml code to set a connection part.
+                if grid[x][y][z][0]==1 and (grid[x][y][z][1]=="+" or grid[x][y][z][1]=="+-") and grid[x+1][y][z][0]==1 and (grid[x+1][y][z][1]=="-" or grid[x+1][y][z][1]=="+-") then
+                    -- This prints the connection part, the +1/2 is because the connection is set exactly in the middle of two gridpoints.
+                    printModel(x+1/2,y,z,tempConnPartIndex,false,1)
+                end
+                -- The same as in the x-direction, but for the y-direction.
+                if grid[x][y][z][0]==1 and ( grid[x][y][z][2]=="+" or grid[x][y][z][2]=="+-" ) and grid[x][y+1][z][0]==1 and ( grid[x][y+1][z][2]=="-" or grid[x][y+1][z][2]=="+-" ) then
+                    printModel(x,y+1/2,z,tempConnPartIndex,false,2)
+                end
+                -- The same as in the x-direction, but for the z-direction.
+                if grid[x][y][z][0]==1 and ( grid[x][y][z][3]=="+" or grid[x][y][z][3]=="+-" ) and grid[x][y][z+1][0]==1 and ( grid[x][y][z+1][3]=="-" or grid[x][y][z+1][3]=="+-" ) then
+                    printModel(x,y,z+1/2,tempConnPartIndex,false,3)
+                end
+            end
+        end
+    end
 end
 -- End attach all connectionparts.
@@ -671,5 +671,5 @@
 -- This function is for the lazy guys, which do not care how the space station looks like, so I use some good standard values.
 function createSpaceStation()
-	createSpaceStationPar(0,4,1,2,1,6,1,100)
+    createSpaceStationPar(0,4,1,2,1,6,1,100)
 end
 -- End createSpaceStaion() function.
Index: code/trunk/data/levels/includes/asteroidField.lua
===================================================================
--- code/trunk/data/levels/includes/asteroidField.lua	(revision 9257)
+++ code/trunk/data/levels/includes/asteroidField.lua	(revision 9348)
@@ -1,66 +1,65 @@
 --[[ fog generator
 generates fog
-	posX, posY, posZ - position in space
-	size - size of billboard
-	brightness - [0,1] fog brightness
+    posX, posY, posZ - position in space
+    size - size of billboard
+    brightness - [0,1] fog brightness
 --]]
 function generateFog(posX, posY, posZ, size, brightness)
-		print("<Billboard ")
-			print("position = \"") 
-				print(posX) print(",") 
-				print(posY) print(",") 
-				print(posZ) print("\" ") 
-			print("colour=\"")
-				print(brightness) print(",") 
-				print(brightness) print(",") 
-				print(brightness) print("\" ") 
-			print("material=\"Smoke/Smoke\" scale=")
-			print(size)
-			print(" />")
+    print("<Billboard ")
+        print("position = \"")
+            print(posX) print(",")
+            print(posY) print(",")
+            print(posZ) print("\" ")
+        print("colour=\"")
+            print(brightness) print(",")
+            print(brightness) print(",")
+            print(brightness) print("\" ")
+        print("material=\"Smoke/Smoke\" scale=")
+        print(size)
+    print(" />")
 end
 
 --[[ asteroid field generator
 generates asteroid field
-	posX, posY, posZ - position in space
-	minSize, maxSize - size boundaries of each asteroid
-	radius - size of the cube around position in space
-	count - number of asteroids
-	fog - enable fog 0/1
+    posX, posY, posZ - position in space
+    minSize, maxSize - size boundaries of each asteroid
+    radius - size of the cube around position in space
+    count - number of asteroids
+    fog - enable fog 0/1
 --]]
 function asteroidField(posX, posY, posZ, minSize, maxSize, radius, count, fog)
-	for i = 1, count, 1
-	do
-		size = (math.random() * (maxSize - minSize)) + minSize
-		pX = (2 * math.random() * radius) - radius + posX
-		pY = (2 * math.random() * radius) - radius + posY
-		pZ = (2 * math.random() * radius) - radius + posZ
-		print("<StaticEntity ")
-		
-		print("position = \"") 
-		print(pX) print(",") 
-		print(pY) print(",") 
-		print(pZ) print("\" ")
-		
-		print("scale = \"") print(size) print("\" ")
-		
-		print("collisionType = static linearDamping = 0.8 angularDamping = 1 ") 
-		print("collisiondamage = 1000 enablecollisiondamage = true>")
-		
-		print("<attached>")
-			print("<Model mass=\"") print(size * 10) print("\" ")
-			print("mesh=\"ast") print(math.mod(i,6) + 1) print(".mesh\" />")
-		print("</attached>")
-		
-		print("<collisionShapes> ")
-			print("<SphereCollisionShape radius=\"") 
-			print(size * 2.5) print("\" />")
-		print("</collisionShapes>")
-		
-		print("</StaticEntity>")
-		
-		if fog == 1 and i % 5 == 0 then
-			generateFog(pX, pY, pZ, radius*0.04, 0.2)
-		end
-	end
+    for i = 1, count, 1 do
+        size = (math.random() * (maxSize - minSize)) + minSize
+        pX = (2 * math.random() * radius) - radius + posX
+        pY = (2 * math.random() * radius) - radius + posY
+        pZ = (2 * math.random() * radius) - radius + posZ
+        print("<StaticEntity ")
+
+        print("position = \"")
+        print(pX) print(",")
+        print(pY) print(",")
+        print(pZ) print("\" ")
+
+        print("scale = \"") print(size) print("\" ")
+
+        print("collisionType = static linearDamping = 0.8 angularDamping = 1 ")
+        print("collisiondamage = 1000 enablecollisiondamage = true>")
+
+        print("<attached>")
+            print("<Model mass=\"") print(size * 10) print("\" ")
+            print("mesh=\"ast") print(math.mod(i,6) + 1) print(".mesh\" />")
+        print("</attached>")
+
+        print("<collisionShapes> ")
+            print("<SphereCollisionShape radius=\"")
+            print(size * 2.5) print("\" />")
+        print("</collisionShapes>")
+
+        print("</StaticEntity>")
+
+        if fog == 1 and i % 5 == 0 then
+            generateFog(pX, pY, pZ, radius*0.04, 0.2)
+        end
+    end
 end
 
@@ -68,36 +67,35 @@
 --[[ asteroid belt generator
 generates asteroid belt
-	posX, posY, posZ - position in space
-	yaw, pitch - rotation
-	minSize, maxSize - size boundaries of each asteroid
-	radius0, radius1 - inner/outer radius
-	count - number of asteroids
-	fog - enable fog 0/1
+    posX, posY, posZ - position in space
+    yaw, pitch - rotation
+    minSize, maxSize - size boundaries of each asteroid
+    radius0, radius1 - inner/outer radius
+    count - number of asteroids
+    fog - enable fog 0/1
 --]]
 function asteroidBelt(centerX, centerY, centerZ, yaw, pitch, segments, minSize, maxSize, radius0, radius1, count, fog)
-	dPhi = (2 * math.pi) / segments
-	width = math.abs(radius1 - radius0)
-	radius = (radius1 + radius0) / 2
-	segmentCount = count / segments
-	
-	print("<StaticEntity collisionType=static yaw=") print(yaw) 
-	print(" pitch=") print(pitch)
-	
-	print(" position = \"") 
-		print(centerX) print(",") 
-		print(centerY) print(",") 
-		print(centerZ) print("\"") 
-	print(">")
-	
-	print("<attached>")
-	
-	for i = 0, segments - 1, 1
-	do
-		asteroidField((radius * math.cos(i * dPhi)),
-					(radius * math.sin(i * dPhi)),
-					0, minSize, maxSize, width, segmentCount, fog)
-	end
-	
-	print("</attached>")
-	print("</StaticEntity>")
+    dPhi = (2 * math.pi) / segments
+    width = math.abs(radius1 - radius0)
+    radius = (radius1 + radius0) / 2
+    segmentCount = count / segments
+
+    print("<StaticEntity collisionType=static yaw=") print(yaw)
+    print(" pitch=") print(pitch)
+
+    print(" position = \"")
+        print(centerX) print(",")
+        print(centerY) print(",")
+        print(centerZ) print("\"")
+    print(">")
+
+    print("<attached>")
+
+    for i = 0, segments - 1, 1 do
+        asteroidField((radius * math.cos(i * dPhi)),
+                    (radius * math.sin(i * dPhi)),
+                    0, minSize, maxSize, width, segmentCount, fog)
+    end
+
+    print("</attached>")
+    print("</StaticEntity>")
 end
Index: code/trunk/data/levels/includes/pickups.oxi
===================================================================
--- code/trunk/data/levels/includes/pickups.oxi	(revision 9257)
+++ code/trunk/data/levels/includes/pickups.oxi	(revision 9348)
@@ -3,244 +3,206 @@
 
 <PickupRepresentation
+    name = "smallshieldpickup"
     pickupName = "Small Shield Pickup"
     pickupDescription = "Gives you a small-sized shield for 30 seconds."
     inventoryRepresentation = "SmallShield"
     spawnerTemplate = "smallshieldpickupRepresentation"
->
-    <pickup>
-        <ShieldPickup template=smallshieldpickup />
-    </pickup>
-</PickupRepresentation>
-
-<PickupRepresentation
+/>
+
+<PickupRepresentation
+    name = "mediumshieldpickup"
     pickupName = "Medium Shield Pickup"
     pickupDescription = "Gives you a medium-sized shield for 30 seconds."
     inventoryRepresentation = "MediumShield"
     spawnerTemplate = "mediumshieldpickupRepresentation"
->
-    <pickup>
-        <ShieldPickup template=mediumshieldpickup />
-    </pickup>
-</PickupRepresentation>
-
-<PickupRepresentation
+/>
+
+<PickupRepresentation
+    name = "hugeshieldpickup"
     pickupName = "Huge Shield Pickup"
     pickupDescription = "Gives you a big shield for 60 seconds."
     inventoryRepresentation = "HugeShield"
     spawnerTemplate = "hugeshieldpickupRepresentation"
->
-    <pickup>
-        <ShieldPickup template=hugeshieldpickup />
-    </pickup>
-</PickupRepresentation>
+/>
 
 <!-- Health pickups -->
 
 <PickupRepresentation
+    name = "smallhealthpickup"
     pickupName = "Small Health Boost"
     pickupDescription = "Adds a small amout of health to the ship."
     inventoryRepresentation = "SmallHealth"
     spawnerTemplate = "smallhealthpickupRepresentation"
->
-    <pickup>
-        <HealthPickup template=smallhealthpickup />
-    </pickup>
-</PickupRepresentation>
-
-<PickupRepresentation
+/>
+
+<PickupRepresentation
+    name = "mediumhealthpickup"
     pickupName = "Medium Health Boost"
     pickupDescription = "Adds a medium amout of health to the ship."
     spawnerTemplate = "mediumhealthpickupRepresentation"
     inventoryRepresentation = "MediumHealth"
->
-    <pickup>
-        <HealthPickup template=mediumhealthpickup />
-    </pickup>
-</PickupRepresentation>
-
-<PickupRepresentation
+/>
+
+<PickupRepresentation
+    name = "hugehealthpickup"
     pickupName = "Huge Health Boost"
     pickupDescription = "Adds a huge amout of health to the ship."
     spawnerTemplate = "hugehealthpickupRepresentation"
     inventoryRepresentation = "HugeHealth"
->
-    <pickup>
-        <HealthPickup template=hugehealthpickup />
-    </pickup>
-</PickupRepresentation>
-
-<PickupRepresentation
+/>
+
+<PickupRepresentation
+    name = "crazyhealthpickup"
     pickupName = "Crazy Madness Health Boost"
     pickupDescription = "Adds a crazy amout of health to the ship."
     spawnerTemplate = "crazyhealthpickupRepresentation"
     inventoryRepresentation = "CrazyMadnessHealth"
->
-    <pickup>
-        <HealthPickup template=crazyhealthpickup />
-    </pickup>
-</PickupRepresentation>
+/>
 
 <!-- Meta pickups -->
 
 <PickupRepresentation
+    name = "use"
     pickupName = "Use Pickup"
     pickupDescription = "Uses all pickups you have."
     spawnerTemplate = "usepickupRepresentation"
     inventoryRepresentation = "usePickup"
->
-    <pickup>
-        <MetaPickup metaType="use" />
-    </pickup>
-</PickupRepresentation>
-
-<PickupRepresentation
+/>
+
+<PickupRepresentation
+    name = "drop"
     pickupName = "Drop Pickup"
     pickupDescription = "Drops all pickups you have."
     spawnerTemplate = "droppickupRepresentation"
     inventoryRepresentation = "dropPickup"
->
-    <pickup>
-        <MetaPickup metaType="drop" />
-    </pickup>
-</PickupRepresentation>
+/>
 
 <!-- Speed pickups -->
 
 <PickupRepresentation
+    name = "smallspeedpickup"
     pickupName = "Small Speed Boost"
     pickupDescription = "Multiplies Speed of the Ship by a small amount."
     spawnerTemplate = "smallspeedpickupRepresentation"
     inventoryRepresentation = "SmallSpeed"
->
-    <pickup>
-        <SpeedPickup template=smallspeedpickup />
-    </pickup>
-</PickupRepresentation>
-
-<PickupRepresentation
+/>
+
+<PickupRepresentation
+    name = "mediumspeedpickup"
     pickupName = "Medium Speed Boost"
     pickupDescription = "Multiplies Speed of the Ship by a bigger amount."
     spawnerTemplate = "mediumspeedpickupRepresentation"
     inventoryRepresentation = "MediumSpeed"
->
-    <pickup>
-        <SpeedPickup template=mediumspeedpickup />
-    </pickup>
-</PickupRepresentation>
-
-<PickupRepresentation
+/>
+
+<PickupRepresentation
+    name = "hugespeedpickup"
     pickupName = "Huge Speed Boost"
     pickupDescription = "Multiplies Speed of the Ship by a huge amount."
     spawnerTemplate = "hugespeedpickupRepresentation"
     inventoryRepresentation = "HugeSpeed"
->
-    <pickup>
-        <SpeedPickup template=hugespeedpickup />
-    </pickup>
-</PickupRepresentation>
-
-<PickupRepresentation
+/>
+
+<PickupRepresentation
+    name = "smalljumppickup"
     pickupName = "Small Jump Boost"
     pickupDescription = "Boosts the Ship with a massive amount for a very short time."
     spawnerTemplate = "smalljumppickupRepresentation"
     inventoryRepresentation = "SmallSpeed"
->
-    <pickup>
-        <SpeedPickup template=smalljumppickup />
-    </pickup>
-</PickupRepresentation>
+/>
 
 <!-- Invisible pickups -->
 
 <PickupRepresentation
+    name = "smallinvisiblepickup"
     pickupName = "Small Invisibility"
     pickupDescription = "Makes you invisible for 5 seconds."
     spawnerTemplate = "smallinvisiblepickupRepresentation"
     inventoryRepresentation = "SmallInvisible"
->
-    <pickup>
-        <InvisiblePickup template=smallinvisiblepickup />
-    </pickup>
-</PickupRepresentation>
-
-<PickupRepresentation
+/>
+
+<PickupRepresentation
+    name = "mediuminvisiblepickup"
     pickupName = "Medium Invisibility"
     pickupDescription = "Makes you invisible for 10 seconds."
     spawnerTemplate = "mediuminvisiblepickupRepresentation"
     inventoryRepresentation = "MediumInvisible"
->
-    <pickup>
-        <InvisiblePickup template=mediuminvisiblepickup />
-    </pickup>
-</PickupRepresentation>
-
-<PickupRepresentation
+/>
+
+<PickupRepresentation
+    name = "hugeinvisiblepickup"
     pickupName = "Huge Invisibility"
     pickupDescription = "Makes you invisible for 20 seconds."
     spawnerTemplate = "hugeinvisiblepickupRepresentation"
     inventoryRepresentation = "HugeInvisible"
->
-    <pickup>
-        <InvisiblePickup template=hugeinvisiblepickup />
-    </pickup>
-</PickupRepresentation>
+/>
 
 <!-- Pickup Collection pickups -->
 
 <PickupRepresentation
+    name = "triplehealthspeedinvisibilitypickup"
     pickupName = "Tri Pickup"
     pickupDescription = "Adds health, speed and invisibility."
     spawnerTemplate = "triplehealthspeedinvisibilitypickupRepresentation"
->
-    <pickup>
-        <PickupCollection template=triplehealthspeedinvisibilitypickup />
-    </pickup>
-</PickupRepresentation>
+/>
 
 <!-- Drone Pickup -->
 
 <PickupRepresentation
+    name = "dronepickup"
     pickupName = "Drone Pickup"
     pickupDescription = "Adds a Drone to the Player's Spaceship"
     spawnerTemplate = "dronepickupRepresentation"
->
-    <pickup>
-        <DronePickup template=dronepickup />
-    </pickup>
-</PickupRepresentation>
+/>
+
+<!-- DamageBoost Pickup -->
+
+<PickupRepresentation
+    name = "smalldamageboostpickup"
+    pickupName = "Small DamageBoost Pickup"
+    pickupDescription = "Multiplies the ship damage with 2."
+    spawnerTemplate = "smalldamageboostpickupRepresentation"
+    inventoryRepresentation = "SmallDamageBoost"
+/>
+
+<PickupRepresentation
+    name = "mediumdamageboostpickup"
+    pickupName = "Medium DamageBoost Pickup"
+    pickupDescription = "Multiplies the ship damage with 5."
+    spawnerTemplate = "mediumdamageboostpickupRepresentation"
+    inventoryRepresentation = "MediumDamageBoost"
+/>
+
+<PickupRepresentation
+    name = "largedamageboostpickup"
+    pickupName = "Large DamageBoost Pickup"
+    pickupDescription = "Multiplies the ship damage with 7."
+    spawnerTemplate = "largedamageboostpickupRepresentation"
+    inventoryRepresentation = "LargeDamageBoost"
+/>
 
 <!-- Shrink Pickup -->
 
 <PickupRepresentation
+    name = "smallshrinkpickup"
     pickupName = "Small Shrink"
     pickupDescription = "Shrinks the Ship by a bit"
     spawnerTemplate = "smallshrinkpickupRepresentation"
     inventoryRepresentation = "SmallShrink"
->
-    <pickup>
-        <ShrinkPickup template=smallshrinkpickup />
-    </pickup>
-</PickupRepresentation>
-
-<PickupRepresentation
+/>
+
+<PickupRepresentation
+    name = "mediumshrinkpickup"
     pickupName = "Medium Shrink"
     pickupDescription = "Shrinks the Ship"
     spawnerTemplate = "mediumshrinkpickupRepresentation"
     inventoryRepresentation = "MediumShrink"
->
-    <pickup>
-        <ShrinkPickup template=mediumshrinkpickup />
-    </pickup>
-</PickupRepresentation>
-
-<PickupRepresentation
+/>
+
+<PickupRepresentation
+    name = "hugeshrinkpickup"
     pickupName = "Huge Shrink"
     pickupDescription = "Shrinks the Ship considerably"
     spawnerTemplate = "hugeshrinkpickupRepresentation"
     inventoryRepresentation = "HugeShrink"
->
-    <pickup>
-        <ShrinkPickup template=hugeshrinkpickup />
-    </pickup>
-</PickupRepresentation>
-
+/>
Index: code/trunk/data/levels/includes/towerWeaponSettings.oxi
===================================================================
--- code/trunk/data/levels/includes/towerWeaponSettings.oxi	(revision 9348)
+++ code/trunk/data/levels/includes/towerWeaponSettings.oxi	(revision 9348)
@@ -0,0 +1,55 @@
+     <weaponslots>
+      <WeaponSlot position="-15.0,-1.5,0" />
+      <WeaponSlot position=" 15.0,-1.5,0" />
+      <WeaponSlot position="    0,   0,0" />
+    </weaponslots>
+    <weaponsets>
+      <WeaponSet firemode=0 />
+      <WeaponSet firemode=1 />
+      <WeaponSet firemode=2 />
+      <WeaponSet firemode=3 />
+    </weaponsets>
+    <weapons>
+      <WeaponPack>
+        <links>
+          <DefaultWeaponmodeLink firemode=0 weaponmode=0 />
+          <DefaultWeaponmodeLink firemode=1 weaponmode=1 />
+          <DefaultWeaponmodeLink firemode=2 weaponmode=2 />
+          <DefaultWeaponmodeLink firemode=3 weaponmode=3 />
+        </links>
+        <Weapon>
+          <attached>
+            <Model mesh="LightningGun.mesh" pitch="100" roll="90" yaw="90" position="0,-1.3,200" scale=1/>
+            <Model mesh="LightningGun-s.mesh" pitch="78" roll="90" yaw="90" position="0.2,-1.3,200" scale=1 />
+            <Model mesh="hs-w01_reduced.mesh" roll="45" pitch="-76" yaw="-45" position="-1.5,1,200" scale=10 />
+          </attached>
+          <HsW01 mode=0 munitionpershot=0 delay=0.005 damage=31.4159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />
+          <HsW01 mode=0 munitionpershot=0 delay=0     damage=314.159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />
+          <LightningGun mode=1 muzzleoffset="0,0,0" damage=3.14159 shielddamage=20 />
+        </Weapon>
+        
+        <Weapon>
+          <attached>
+            <Model mesh="LightningGun.mesh" pitch="103" roll="90" yaw="90" position="0,-1.35,0" />
+            <Model mesh="LightningGun-s.mesh" pitch="103" roll="90" yaw="90" position="0.2,-1.35,0" />
+            <Model mesh="hs-w01_reduced.mesh" roll="90" pitch="-104" yaw="-90" position="0,1.3,0.3" scale=0.6 />
+          </attached>
+          <HsW01 mode=0 munitionpershot=0 delay=0     damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" />
+          <HsW01 mode=0 munitionpershot=0 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" />
+          <LightningGun mode=1 muzzleoffset="0,0,0" damage=23 />
+        </Weapon>
+        <Weapon>
+          <SimpleRocketFire mode=2 muzzleoffset="0,0,0" damage=30 shielddamage=20 />
+          <RocketFire mode=3 muzzleoffset="0,0,0" damage=30 healthdamage=50 shielddamage=20 />
+        </Weapon>
+        
+      </WeaponPack>
+      <WeaponPack>
+        <links>
+          <DefaultWeaponmodeLink firemode=1 weaponmode=0 />
+        </links>
+        <!--Weapon>
+          <EnergyDrink mode=0 munitionpershot=0 delay=0  material="Flares/point_lensflare"muzzleoffset="2,-0.2,-1" />
+        </Weapon-->
+      </WeaponPack>
+    </weapons>
Index: code/trunk/data/levels/includes/weaponSettingsFPS.oxi
===================================================================
--- code/trunk/data/levels/includes/weaponSettingsFPS.oxi	(revision 9257)
+++ code/trunk/data/levels/includes/weaponSettingsFPS.oxi	(revision 9348)
@@ -1,7 +1,9 @@
     <weaponslots>
       <WeaponSlot position="0,0,0" yaw=0 pitch=0 roll=0 />
- <!--      <WeaponSlot position="-0.5,0.8,2.5" yaw=0 pitch=0 roll=0 />
+<!--
+      <WeaponSlot position="-0.5,0.8,2.5" yaw=0 pitch=0 roll=0 />
       <WeaponSlot position="15,-1.5,-25" yaw=0 pitch=0 roll=0 />
-      <WeaponSlot position="0,0,-45" yaw=0 pitch=0 roll=0 /> -->
+      <WeaponSlot position="0,0,-45" yaw=0 pitch=0 roll=0 />
+-->
     </weaponslots>
     <weaponsets>
@@ -11,12 +13,12 @@
     <weapons>
       <WeaponPack firemode=0>
-	<links>
+        <links>
           <DefaultWeaponmodeLink firemode=0 weaponmode=0 />
           <DefaultWeaponmodeLink firemode=1 weaponmode=1 />
           <DefaultWeaponmodeLink firemode=2 weaponmode=2 />
         </links>
-	<Weapon>
-	   <HsW01 mode=0 munitionpershot=0 delay=0.0 damage=2.5 material="Flares/point_lensflare" muzzleoffset=" 0.7, -0.3, -3" />
-           <LightningGun mode=1 muzzleoffset="0,0,0" damage=3.14159 shielddamage=20/>
+        <Weapon>
+          <HsW01 mode=0 munitionpershot=0 delay=0.0 damage=2.5 material="Flares/point_lensflare" muzzleoffset=" 0.7, -0.3, -3" />
+          <LightningGun mode=1 muzzleoffset="0,0,0" damage=3.14159 shielddamage=20/>
         </Weapon>
         <LaserGun
@@ -28,5 +30,5 @@
             unlimitedMunition=true
         />
-  <!--       <LaserGun
+        <!--LaserGun
             position="0,0,0"
             munitionType="LaserGunMunition"
@@ -45,5 +47,5 @@
             speed="600"
             unlimitedMunition=true
-        /> -->
+        /-->
       </WeaponPack>
     </weapons>
Index: code/trunk/data/levels/lastManStanding.oxw
===================================================================
--- code/trunk/data/levels/lastManStanding.oxw	(revision 9257)
+++ code/trunk/data/levels/lastManStanding.oxw	(revision 9348)
@@ -33,5 +33,5 @@
     ?>
 
-<!----- Spawnpoints 
+<!----- Spawnpoints
     <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"/>
     <SpawnPoint team=0 position="-1150,0,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff />
@@ -44,5 +44,5 @@
 
 <!-- ------------ middle asteroid -------------- -->
-    <StaticEntity position="0,0,0" collisionType=static>    
+    <StaticEntity position="0,0,0" collisionType=static>
         <attached>
             <MovableEntity position="0,20,0" rotationrate="-4.5" rotationaxis="0,1,0" >
@@ -50,9 +50,5 @@
                     <Model position="0,0,0" scale=140 mesh="asteroid_UV.mesh" shadow=true />
                     <Model position="-160,40,28.4" scale=1 mesh="sphere.mesh" /><!--EasterEgg indicator-->
-                    <PickupSpawner position="-160,40,17" triggerDistance="20" respawnTime="5" maxSpawnedItems="15"><!--EasterEgg : invisible pickup is hidden inside the asteroid -->
-                        <pickup>
-                            <InvisiblePickup template=hugeinvisiblepickup />
-                        </pickup>
-                    </PickupSpawner>
+                    <PickupSpawner pickup=hugeinvisiblepickup position="-160,40,17" triggerDistance="20" respawnTime="5" maxSpawnedItems="15" /><!--EasterEgg : invisible pickup is hidden inside the asteroid -->
                 </attached>
             </MovableEntity>
@@ -79,5 +75,5 @@
       <attached>
         <Model position="0,0,0" scale=15 mesh="ast<?lua print( math.mod(i,6) + 1) ?>.mesh">
-	</Model>
+        </Model>
       </attached>
       <collisionShapes>
@@ -89,5 +85,5 @@
       <attached>
         <Model position="0,0,0" scale=15 mesh="ast<?lua print( math.mod(i+3,6) + 1) ?>.mesh">
-	</Model>
+        </Model>
       </attached>
       <collisionShapes>
@@ -99,5 +95,5 @@
       <attached>
         <Model position="0,0,0" scale=15 mesh="ast<?lua print( math.mod(i*5,6) + 1) ?>.mesh">
-	</Model>
+        </Model>
       </attached>
       <collisionShapes>
@@ -109,5 +105,5 @@
       <attached>
         <Model position="0,0,0" scale=15 mesh="ast<?lua print( math.mod(i*13+1,6) + 1) ?>.mesh">
-	</Model>
+        </Model>
       </attached>
       <collisionShapes>
@@ -119,5 +115,5 @@
       <attached>
         <Model position="0,0,0" scale=15 mesh="ast<?lua print( math.mod(i*17,6) + 1) ?>.mesh">
-	</Model>
+        </Model>
       </attached>
       <collisionShapes>
@@ -130,5 +126,5 @@
       <attached>
         <Model position="0,0,0" scale=25 mesh="ast6.mesh">
-	</Model>
+        </Model>
       </attached>
       <collisionShapes>
Index: code/trunk/data/levels/lastTeamStanding.oxw
===================================================================
--- code/trunk/data/levels/lastTeamStanding.oxw	(revision 9257)
+++ code/trunk/data/levels/lastTeamStanding.oxw	(revision 9348)
@@ -18,5 +18,5 @@
  name         = "Last Team Standing"
  description  = "testmap for gametype last team standing"
- gametype     =  "TeamGametype"
+ gametype     =  "LastTeamStanding"
 >
   <templates>
@@ -27,7 +27,6 @@
   <Scene
     ambientlight = "0.8, 0.8, 0.8"
-    skybox       = "Orxonox/skypanoramagen1"
+    skybox       = "Orxonox/skyBoxBasic"
   >
-  <?lua include("includes/notifications.oxi") ?>
 
     <?lua
@@ -48,9 +47,5 @@
     </StaticEntity>
 
-    <PickupSpawner position="-160,60,17" triggerDistance="20" respawnTime="5" maxSpawnedItems="10"><!--EasterEgg-->
-      <pickup>
-        <InvisiblePickup template=hugeinvisiblepickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=hugeinvisiblepickup position="-160,60,17" triggerDistance="20" respawnTime="5" maxSpawnedItems="10" /><!--EasterEgg-->
     <StaticEntity position="-160,60,28.4"><!--EasterEgg-Indicator-->
       <attached>
@@ -74,5 +69,5 @@
       <attached>
         <Model position="0,0,0" scale=15 mesh="ast<?lua print( math.mod(i,6) + 1) ?>.mesh">
-	</Model>
+        </Model>
       </attached>
       <collisionShapes>
@@ -84,5 +79,5 @@
       <attached>
         <Model position="0,0,0" scale=15 mesh="ast<?lua print( math.mod(i+3,6) + 1) ?>.mesh">
-	</Model>
+        </Model>
       </attached>
       <collisionShapes>
@@ -94,5 +89,5 @@
       <attached>
         <Model position="0,0,0" scale=15 mesh="ast<?lua print( math.mod(i*5,6) + 1) ?>.mesh">
-	</Model>
+        </Model>
       </attached>
       <collisionShapes>
@@ -104,5 +99,5 @@
       <attached>
         <Model position="0,0,0" scale=15 mesh="ast<?lua print( math.mod(i*13+1,6) + 1) ?>.mesh">
-	</Model>
+        </Model>
       </attached>
       <collisionShapes>
@@ -114,5 +109,5 @@
       <attached>
         <Model position="0,0,0" scale=15 mesh="ast<?lua print( math.mod(i*17,6) + 1) ?>.mesh">
-	</Model>
+        </Model>
       </attached>
       <collisionShapes>
@@ -125,5 +120,5 @@
       <attached>
         <Model position="0,0,0" scale=25 mesh="ast6.mesh">
-	</Model>
+        </Model>
       </attached>
       <collisionShapes>
Index: code/trunk/data/levels/lastTeamStandingII.oxw
===================================================================
--- code/trunk/data/levels/lastTeamStandingII.oxw	(revision 9257)
+++ code/trunk/data/levels/lastTeamStandingII.oxw	(revision 9348)
@@ -25,5 +25,5 @@
   <Scene
     ambientlight = "0.8, 0.8, 0.8"
-    skybox       = "Orxonox/skypanoramagen1"
+    skybox       = "Orxonox/skyBoxBasic"
   >
 <!-- TODO:
Index: code/trunk/data/levels/missionOne.oxw
===================================================================
--- code/trunk/data/levels/missionOne.oxw	(revision 9257)
+++ code/trunk/data/levels/missionOne.oxw	(revision 9348)
@@ -1153,9 +1153,5 @@
 
 <!-- @Objects: Pickup - find better place !! -->
-    <PickupSpawner position="-48650,700,100" triggerDistance="70" respawnTime="30" maxSpawnedItems="1">
-      <pickup>
-        <ShieldPickup template=hugeshieldpickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=hugeshieldpickup position="-48650,700,100" triggerDistance="70" respawnTime="30" maxSpawnedItems="1" />
 
 
Index: code/trunk/data/levels/notifications.oxw
===================================================================
--- code/trunk/data/levels/notifications.oxw	(revision 9257)
+++ code/trunk/data/levels/notifications.oxw	(revision 9348)
@@ -21,5 +21,5 @@
     <Scene
         ambientlight = "0.5, 0.5, 0.5"
-        skybox       = "Orxonox/skypanoramagen1"
+        skybox       = "Orxonox/skyBoxBasic"
     >
 
Index: code/trunk/data/levels/old/CuboidSpaceStation.oxw
===================================================================
--- code/trunk/data/levels/old/CuboidSpaceStation.oxw	(revision 9257)
+++ code/trunk/data/levels/old/CuboidSpaceStation.oxw	(revision 9348)
@@ -1,18 +1,18 @@
 <?lua
-	include("HUDTemplates3.oxo")
+    include("HUDTemplates3.oxo")
 ?>
 
 <?lua
-	include("templates/spaceshipAssff.oxt")
+    include("templates/spaceshipAssff.oxt")
 ?>
 
 <Level
-	name = "SpaceStation test Space!"
-	description = "All the new SpaceStations are created here!"
+    name = "SpaceStation test Space!"
+    description = "All the new SpaceStations are created here!"
 >
-	<Scene
-		ambientlight = "0.5, 0.5, 0.5"
-		skybox = "Orxonox/Starbox"
-	>
+    <Scene
+        ambientlight = "0.5, 0.5, 0.5"
+        skybox = "Orxonox/Starbox"
+    >
 
 
@@ -20,5 +20,5 @@
 <!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------->
 <?lua
-	dofile("includes/CuboidSpaceStation.lua")
+    dofile("includes/CuboidSpaceStation.lua")
 ?>
 
@@ -29,5 +29,5 @@
 --->
 <?lua
-	createSpaceStation()
+    createSpaceStation()
 ?>
 
@@ -37,9 +37,9 @@
 --->
 <PositionableEntity scale=1 position="0,0,-5000">
-	<attached>
-		<?lua
-			createSpaceStation()
-		?>
-	</attached>
+    <attached>
+        <?lua
+            createSpaceStation()
+        ?>
+    </attached>
 </PositionableEntity>
 
@@ -49,9 +49,9 @@
 --->
 <MovableEntity scale=1 position="5000,0,0" velocity="50,0,0" yaw=-90>
-	<attached>
-		<?lua
-			createSpaceStation()
-		?>
-	</attached>
+    <attached>
+        <?lua
+            createSpaceStation()
+        ?>
+    </attached>
 </MovableEntity>
 
@@ -61,9 +61,9 @@
 --->
 <MovableEntity scale=1 position="-5000,0,0" rotationaxis="0,1,0" rotationrate=5>
-	<attached>
-		<?lua
-			createSpaceStation()
-		?>
-	</attached>
+    <attached>
+        <?lua
+            createSpaceStation()
+        ?>
+    </attached>
 </MovableEntity>
 
@@ -77,14 +77,14 @@
 --->
 <MovableEntity scale=1 position="0,0,0" rotationaxis="0,1,0" rotationrate=3>
-	<attached>
-		<MovableEntity scale=1 position="10000,0,0" rotationaxis="0,0,1" rotationrate=2>
-			<attached>
-				<?lua
-					-- Here I use the createSpaceStationPar(...) function, which has 8 arguments, see the .lua file at the top to understand them.
-					createSpaceStationPar(0,2,1,2,1,2,1,50)
-				?>
-			</attached>
-		</MovableEntity>
-	</attached>
+    <attached>
+        <MovableEntity scale=1 position="10000,0,0" rotationaxis="0,0,1" rotationrate=2>
+            <attached>
+                <?lua
+                    -- Here I use the createSpaceStationPar(...) function, which has 8 arguments, see the .lua file at the top to understand them.
+                    createSpaceStationPar(0,2,1,2,1,2,1,50)
+                ?>
+            </attached>
+        </MovableEntity>
+    </attached>
 </MovableEntity>
 
@@ -95,5 +95,5 @@
 
 
-	<ParticleSpawner position="0,0,0" source="Orxonox/BigExplosion1part3" lifetime=2.0 loop=0 autostart=0>
+    <ParticleSpawner position="0,0,0" source="Orxonox/BigExplosion1part3" lifetime=2.0 loop=0 autostart=0>
       <events>
         <spawn>
Index: code/trunk/data/levels/old/presentationPhysics.oxw
===================================================================
--- code/trunk/data/levels/old/presentationPhysics.oxw	(revision 9257)
+++ code/trunk/data/levels/old/presentationPhysics.oxw	(revision 9348)
@@ -12,5 +12,5 @@
   <Scene
    ambientlight = "0.8, 0.8, 0.8"
-   skybox       = "Orxonox/skypanoramagen1"
+   skybox       = "Orxonox/skyBoxBasic"
    gravity      = "0, -10, 0"
   >
Index: code/trunk/data/levels/old/princessAeryn.oxw
===================================================================
--- code/trunk/data/levels/old/princessAeryn.oxw	(revision 9257)
+++ code/trunk/data/levels/old/princessAeryn.oxw	(revision 9348)
@@ -15,5 +15,5 @@
     <Scene
         ambientlight = "0.3, 0.3, 0.3"
-        skybox       = "Orxonox/skypanoramagen1"
+        skybox       = "Orxonox/skyBoxBasic"
     >
 
Index: code/trunk/data/levels/pickups.oxw
===================================================================
--- code/trunk/data/levels/pickups.oxw	(revision 9257)
+++ code/trunk/data/levels/pickups.oxw	(revision 9348)
@@ -37,135 +37,64 @@
     <!-- Shield pickups -->
 
-    <PickupSpawner position="-25,-25,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10">
-      <pickup>
-        <ShieldPickup template=smallshieldpickup />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="0,-25,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10">
-      <pickup>
-        <ShieldPickup template=mediumshieldpickup />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="25,-25,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10">
-      <pickup>
-        <ShieldPickup template=hugeshieldpickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=smallshieldpickup position="-25,-25,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" />
+    <PickupSpawner pickup=mediumshieldpickup position="0,-25,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" />
+    <PickupSpawner pickup=hugeshieldpickup position="25,-25,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" />
 
     <!-- Health pickups -->
 
-    <PickupSpawner position="-25,0,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10">
-      <pickup>
-        <HealthPickup template=smallhealthpickup />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="0,0,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10">
-      <pickup>
-        <HealthPickup template=mediumhealthpickup />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="25,0,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10">
-      <pickup>
-        <HealthPickup template=hugehealthpickup />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="50,0,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10">
-      <pickup>
-        <HealthPickup template=crazyhealthpickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=smallhealthpickup position="-25,0,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" />
+    <PickupSpawner pickup=mediumhealthpickup position="0,0,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" />
+    <PickupSpawner pickup=hugehealthpickup position="25,0,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" />
+    <PickupSpawner pickup=crazyhealthpickup position="50,0,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" />
 
     <!-- Speed pickups -->
 
-    <PickupSpawner position="-25,25,-125" triggerDistance="10" respawnTime="10" maxSpawnedItems="99">
-      <pickup>
-        <SpeedPickup template=smallspeedpickup />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="0,25,-125" triggerDistance="10" respawnTime="10" maxSpawnedItems="99">
-      <pickup>
-        <SpeedPickup template=mediumspeedpickup />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="25,25,-125" triggerDistance="10" respawnTime="10" maxSpawnedItems="99">
-      <pickup>
-        <SpeedPickup template=hugespeedpickup />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="50,25,-125" triggerDistance="10" respawnTime="10" maxSpawnedItems="99">
-      <pickup>
-        <SpeedPickup template=smalljumppickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=smallspeedpickup position="-25,25,-125" triggerDistance="10" respawnTime="10" maxSpawnedItems="99" />
+    <PickupSpawner pickup=mediumspeedpickup position="0,25,-125" triggerDistance="10" respawnTime="10" maxSpawnedItems="99" />
+    <PickupSpawner pickup=hugespeedpickup position="25,25,-125" triggerDistance="10" respawnTime="10" maxSpawnedItems="99" />
+    <PickupSpawner pickup=smalljumppickup position="50,25,-125" triggerDistance="10" respawnTime="10" maxSpawnedItems="99" />
 
     <!-- Invisible pickups -->
 
-    <PickupSpawner position="-25,50,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10">
-      <pickup>
-        <InvisiblePickup template=smallinvisiblepickup />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="0,50,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10">
-      <pickup>
-        <InvisiblePickup template=mediuminvisiblepickup />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="25,50,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10">
-      <pickup>
-        <InvisiblePickup template=hugeinvisiblepickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=smallinvisiblepickup position="-25,50,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" />
+    <PickupSpawner pickup=mediuminvisiblepickup position="0,50,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" />
+    <PickupSpawner pickup=hugeinvisiblepickup position="25,50,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" />
 
     <!-- Meta pickups -->
 
-    <PickupSpawner position="-25,75,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10">
-      <pickup>
-        <MetaPickup metaType="use" />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="0,75,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10">
-      <pickup>
-        <MetaPickup metaType="drop" />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="25,75,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10">
-      <pickup>
-        <MetaPickup metaType="destroy" />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="50,75,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10">
-      <pickup>
-        <MetaPickup metaType="destroyCarrier" />
-      </pickup>
-    </PickupSpawner>
+    <Template name=usemetapickup baseclass=MetaPickup>
+      <MetaPickup representation="use" metaType="use" />
+    </Template>
+    
+    <Template name=dropmetapickup baseclass=MetaPickup>
+      <MetaPickup representation="drop" metaType="drop" />
+    </Template>
+    
+    <Template name=destroymetapickup baseclass=MetaPickup>
+      <MetaPickup metaType="destroy" />
+    </Template>
+    
+    <Template name=destroycarriermetapickup baseclass=MetaPickup>
+      <MetaPickup metaType="destroyCarrier" />
+    </Template>
+    
+    <PickupSpawner pickup=usemetapickup position="-25,75,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" />
+    <PickupSpawner pickup=dropmetapickup position="0,75,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" />
+    <PickupSpawner pickup=destroymetapickup position="25,75,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" />
+    <PickupSpawner pickup=destroycarriermetapickup position="50,75,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" />
 
     <!-- Pickup Collection pickups -->
 
-    <PickupSpawner position="-50,25,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10">
-      <pickup>
-        <PickupCollection template=triplehealthspeedinvisibilitypickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=triplehealthspeedinvisibilitypickup position="-50,25,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" />
     
     <!-- Drone pickup -->
     
-    <PickupSpawner position="-50,50,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10">
-      <pickup>
-        <DronePickup template=dronepickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=dronepickup position="-50,50,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" />
+    
+    <!-- DamageBoost pickup -->
+    
+    <PickupSpawner pickup=smalldamageboostpickup position="-50,75,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" />
+    <PickupSpawner pickup=mediumdamageboostpickup position="-50,100,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" />
+    <PickupSpawner pickup=largedamageboostpickup position="-50,125,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" />
     
     <!-- Other pickups -->
@@ -173,37 +102,77 @@
     <!-- PickupRepresentation for the pickup below, since it is not a standard pickup provided by pickups.oxi -->
     <PickupRepresentation
+      name = "MediumHealth"
       pickupName = "Medium Health Pack"
       pickupDescription = "Once used adds a medium amout of health to the ship."
       spawnerTemplate = "mediumhealthpickupRepresentation"
       inventoryRepresentation = "MediumHealth"
-    >
-      <pickup>
-        <HealthPickup health=500 activationType=immediate healthRate=10 durationType=continuous />
-      </pickup>
-    </PickupRepresentation>
+    />
 
-    <PickupSpawner position="-50,0,-125" respawnTime="60" triggerDistance="20" maxSpawnedItems="5">
-      <pickup>
-        <HealthPickup health=500 activationType=immediate healthRate=10 durationType=continuous />
-      </pickup>
-    </PickupSpawner>
+    <Template name=continuoushealthpickup baseclass=HealthPickup>
+      <HealthPickup representation="MediumHealth" health=500 activationType=immediate healthRate=10 durationType=continuous />
+    </Template>
+    
+    <PickupSpawner pickup=continuoushealthpickup position="-50,0,-125" respawnTime="60" triggerDistance="20" maxSpawnedItems="5" />
 
-    <PickupSpawner position="-25,-50,-125" respawnTime="60" triggerDistance="20" maxSpawnedItems="5">
-      <pickup>
-        <ShrinkPickup template ="smallshrinkpickup"/>
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup="smallshrinkpickup" position="-25,-50,-125" respawnTime="60" triggerDistance="20" maxSpawnedItems="5" />
+    <PickupSpawner pickup="mediumshrinkpickup" position="0,-50,-125" respawnTime="60" triggerDistance="20" maxSpawnedItems="5" />
+    <PickupSpawner pickup="hugeshrinkpickup" position="25,-50,-125" respawnTime="60" triggerDistance="20" maxSpawnedItems="5" />
+    
+    <!-- @Objects: 4 boxes (uncontrolled pawns) -->
+    <Pawn team=1 health=30 position="0,100,0" direction="0,-1,0" collisionType=dynamic mass=100000 name=box RVName = "Box 4" >
+        <events>
+          <visibility>
+            <EventListener event="flying4" />
+          </visibility>
+        </events>
+        <attached>
+            <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" />
+        </attached>
+        <collisionShapes>
+            <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" />
+        </collisionShapes>
+    </Pawn>
 
-    <PickupSpawner position="0,-50,-125" respawnTime="60" triggerDistance="20" maxSpawnedItems="5">
-      <pickup>
-        <ShrinkPickup template ="mediumshrinkpickup"/>
-      </pickup>
-    </PickupSpawner>
+    <Pawn team=1 health=30 position="0,200,0" direction="0,-1,0" collisionType=dynamic mass=100000 name=box RVName = "Box 3">
+        <events>
+          <visibility>
+            <EventListener event="flying4" />
+          </visibility>
+        </events>
+        <attached>
+           <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" />
+        </attached>
+        <collisionShapes>
+            <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" />
+        </collisionShapes>
+    </Pawn>
 
-    <PickupSpawner position="25,-50,-125" respawnTime="60" triggerDistance="20" maxSpawnedItems="5">
-      <pickup>
-        <ShrinkPickup template ="hugeshrinkpickup"/>
-      </pickup>
-    </PickupSpawner>
+    <Pawn health=30 position="0,300,0" direction="0,-1,0" collisionType=dynamic mass=100000 name=box team=1 RVName = "Box 2">
+        <events>
+          <visibility>
+            <EventListener event="flying4" />
+          </visibility>
+        </events>
+        <attached>
+           <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" />
+        </attached>
+        <collisionShapes>
+            <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" />
+        </collisionShapes>
+    </Pawn>
+
+    <Pawn health=30 position="0,400,0" direction="0,-1,0" collisionType=dynamic mass=100000 name=box team=1 RVName = "Box 1">
+        <events>
+          <visibility>
+            <EventListener event="flying4" />
+          </visibility>
+        </events>
+        <attached>
+            <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" />
+        </attached>
+        <collisionShapes>
+           <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" />
+        </collisionShapes>
+    </Pawn>
 
     <!--StaticEntity position="0,-200,0" direction="0,-1,0" collisionType=static mass=500 friction=0.01 >
Index: code/trunk/data/levels/pirateAttack.oxw
===================================================================
--- code/trunk/data/levels/pirateAttack.oxw	(revision 9257)
+++ code/trunk/data/levels/pirateAttack.oxw	(revision 9348)
@@ -39,5 +39,5 @@
     <Scene
         ambientlight = "0.3, 0.3, 0.3"
-        skybox       = "Orxonox/skypanoramagen1"
+        skybox       = "Orxonox/skyBoxBasic"
     >
 
Index: code/trunk/data/levels/planets.oxw
===================================================================
--- code/trunk/data/levels/planets.oxw	(revision 9257)
+++ code/trunk/data/levels/planets.oxw	(revision 9348)
@@ -21,5 +21,5 @@
   <Scene
     ambientlight = "0.8, 0.8, 0.8"
-    skybox       = "Orxonox/skypanoramagen1"
+    skybox       = "Orxonox/skyBoxBasic"
   >
 
Index: code/trunk/data/levels/pong.oxw
===================================================================
--- code/trunk/data/levels/pong.oxw	(revision 9257)
+++ code/trunk/data/levels/pong.oxw	(revision 9348)
@@ -57,11 +57,10 @@
   <?lua include("includes/notifications.oxi") ?>
 
-  <WorldAmbientSound source="Ganymede.ogg" playOnLoad=true looping=true />
-
+  <WorldAmbientSound source="Ganymede.ogg" looping="true" playOnLoad="true"/>
   <PongBot />
 
   <Scene
    ambientlight = "0.5, 0.5, 0.5"
-   skybox       = "Orxonox/skypanoramagen1"
+   skybox       = "Orxonox/skyBoxBasic"
   >
     <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" />
@@ -92,5 +91,7 @@
             <ParticleSpawner name=scoreeffect_left position="-120,0,-45" source="Orxonox/sparks2" lifetime=0.1 autostart=0 />
 
-            <WorldSound name="scoreSound" position="0,0,0" source="sounds/pong_score.wav" >
+<!-- TODO: Create a Pong Score Sound and include it here.
+This WorldSound works, but doesn't make sense, since it is played together with ambient/moodDependedDirectory/Ganymede.ogg -->
+            <!--WorldSound name="scoreSound" position="0,0,0" source="ambient/default/Earth.ogg" >
               <events>
                 <play>
@@ -98,5 +99,5 @@
                 </play>
               </events>
-            </WorldSound>
+            </WorldSound-->
 
             <?lua
Index: code/trunk/data/levels/portals.oxw
===================================================================
--- code/trunk/data/levels/portals.oxw	(revision 9257)
+++ code/trunk/data/levels/portals.oxw	(revision 9348)
@@ -23,5 +23,5 @@
   <Scene
    ambientlight = "0.5, 0.5, 0.5"
-   skybox       = "Orxonox/skypanoramagen1"
+   skybox       = "Orxonox/skyBoxBasic"
   >
 
@@ -29,5 +29,5 @@
         <PortalEndPoint>
             <attached>
-                <Billboard material="Portals/Default" />
+                <Model mesh="Spacegate.mesh" yaw="90"/>
             </attached>
         </PortalEndPoint>
@@ -39,9 +39,5 @@
     <PortalLink fromID="2" toID="1" />
 
-    <!--PickupSpawner position="-200,0,0" triggerDistance="10" respawnTime="10" maxSpawnedItems="10">
-      <pickup>
-        <DronePickup template=dronepickup />
-      </pickup>
-    </PickupSpawner-->
+    <!--PickupSpawner pickup=dronepickup position="-200,0,0" triggerDistance="10" respawnTime="10" maxSpawnedItems="10" /-->
 
     <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" />
Index: code/trunk/data/levels/presentation09.oxw
===================================================================
--- code/trunk/data/levels/presentation09.oxw	(revision 9257)
+++ code/trunk/data/levels/presentation09.oxw	(revision 9348)
@@ -22,5 +22,5 @@
   <Scene
    ambientlight = "0.5, 0.5, 0.5"
-   skybox       = "Orxonox/skypanoramagen1"
+   skybox       = "Orxonox/skyBoxBasic"
   >
   
Index: code/trunk/data/levels/presentation09b.oxw
===================================================================
--- code/trunk/data/levels/presentation09b.oxw	(revision 9257)
+++ code/trunk/data/levels/presentation09b.oxw	(revision 9348)
@@ -26,5 +26,5 @@
   <Scene
    ambientlight = "0.5, 0.5, 0.5"
-   skybox       = "Orxonox/skypanoramagen2"
+   skybox       = "Orxonox/skyBoxSomeNebula"
   >
 
@@ -94,33 +94,22 @@
     </SpaceShip>
 
-    <PickupSpawner position="-3800, 2500, 1500" respawnTime="60" triggerDistance="20" maxSpawnedItems="5">
-      <pickup>
-        <SpeedPickup template=smalljumppickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=smalljumppickup position="-3800, 2500, 1500" respawnTime="60" triggerDistance="20" maxSpawnedItems="5" />
 
     <!-- PickupRepresentation for the pickup below, since it is not a standard pickup provided by pickups.oxi -->
     <PickupRepresentation
+      name = "MediumHealth"
       pickupName = "Medium Health Pack"
       pickupDescription = "Once used adds a medium amout of health to the ship."
       spawnerTemplate = "mediumhealthpickupRepresentation"
       inventoryRepresentation = "MediumHealth"
-    >
-      <pickup>
-        <HealthPickup health=100 activationType="onUse" durationType="once" />
-      </pickup>
-    </PickupRepresentation>
-
-    <PickupSpawner position="-4150,2750,1550" respawnTime="60" triggerDistance="20" maxSpawnedItems="5">
-      <pickup>
-        <HealthPickup health=100 activationType=onUse durationType=once />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="2300, 4300, 2400" respawnTime="5" triggerDistance="20">
-      <pickup>
-        <HealthPickup template=mediumhealthpickup />
-      </pickup>
-    </PickupSpawner>
+    />
+
+    <Template name=onusehealthpickup baseclass=HealthPickup>
+      <HealthPickup representation="MediumHealth" health=100 activationType=onUse durationType=once />
+    </Template>
+
+    <PickupSpawner pickup=onusehealthpickup position="-4150,2750,1550" respawnTime="60" triggerDistance="20" maxSpawnedItems="5" />
+
+    <PickupSpawner pickup=mediumhealthpickup position="2300, 4300, 2400" respawnTime="5" triggerDistance="20" />
 
     <Billboard position="-2500, 2400, 1500" material="Examples/Flare" />
Index: code/trunk/data/levels/presentationDM.oxw
===================================================================
--- code/trunk/data/levels/presentationDM.oxw	(revision 9257)
+++ code/trunk/data/levels/presentationDM.oxw	(revision 9348)
@@ -24,5 +24,5 @@
   <Scene
    ambientlight = "0.5, 0.5, 0.5"
-   skybox       = "Orxonox/skypanoramagen1"
+   skybox       = "Orxonox/skyBoxBasic"
   >
     <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" />
Index: code/trunk/data/levels/presentationFS10.oxw
===================================================================
--- code/trunk/data/levels/presentationFS10.oxw	(revision 9257)
+++ code/trunk/data/levels/presentationFS10.oxw	(revision 9348)
@@ -102,65 +102,37 @@
     <?lua end ?>
 
-    <PickupSpawner position="500,-50,-500" triggerDistance="10" respawnTime="5" maxSpawnedItems="10">
-      <pickup>
-        <DronePickup template=dronepickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=dronepickup position="500,-50,-500" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" />
 
     <!-- Shield pickups -->
 
-    <PickupSpawner position="-25,-50,-500" triggerDistance="10" respawnTime="5" maxSpawnedItems="10">
-      <pickup>
-        <ShieldPickup template=hugeshieldpickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=hugeshieldpickup position="-25,-50,-500" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" />
 
     <!-- Health pickups -->
 
-    <PickupSpawner position="0,-75,-500" triggerDistance="10" respawnTime="30" maxSpawnedItems="10">
-      <pickup>
-        <HealthPickup template=hugehealthpickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=hugehealthpickup position="0,-75,-500" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" />
 
     <!-- Speed pickups -->
 
-    <PickupSpawner position="25,-50,-500" triggerDistance="10" respawnTime="10" maxSpawnedItems="99">
-      <pickup>
-        <SpeedPickup template=hugespeedpickup />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="50,-50,-500" triggerDistance="10" respawnTime="10" maxSpawnedItems="99">
-      <pickup>
-        <SpeedPickup template=smalljumppickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=hugespeedpickup position="25,-50,-500" triggerDistance="10" respawnTime="10" maxSpawnedItems="99" />
+    <PickupSpawner pickup=smalljumppickup position="50,-50,-500" triggerDistance="10" respawnTime="10" maxSpawnedItems="99" />
 
     <!-- Invisible pickups -->
 
-    <PickupSpawner position="0,-50,-500" triggerDistance="10" respawnTime="5" maxSpawnedItems="10">
-      <pickup>
-        <InvisiblePickup template=hugeinvisiblepickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=hugeinvisiblepickup position="0,-50,-500" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" />
 
     <!-- PickupRepresentation for the pickup below, since it is not a standard pickup provided by pickups.oxi -->
     <PickupRepresentation
+      name = "MediumHealth"
       pickupName = "Medium Health Pack"
       pickupDescription = "Once used adds a medium amout of health to the ship."
       spawnerTemplate = "mediumhealthpickupRepresentation"
       inventoryRepresentation = "MediumHealth"
-    >
-      <pickup>
-        <HealthPickup health=50 activationType="onUse" durationType="once" />
-      </pickup>
-    </PickupRepresentation>
+    />
 
-    <PickupSpawner position="25,-75,-500" respawnTime="60" triggerDistance="20" maxSpawnedItems="5">
-      <pickup>
-        <HealthPickup health=50 activationType=onUse durationType=once />
-      </pickup>
-    </PickupSpawner>
+    <Template name=onusehealthpickup baseclass=HealthPickup>
+      <HealthPickup representation="MediumHealth" health=50 activationType=onUse durationType=once />
+    </Template>
+
+    <PickupSpawner pickup=onusehealthpickup position="25,-75,-500" respawnTime="60" triggerDistance="20" maxSpawnedItems="5" />
 
   </Scene>
Index: code/trunk/data/levels/presentationFS102.oxw
===================================================================
--- code/trunk/data/levels/presentationFS102.oxw	(revision 9257)
+++ code/trunk/data/levels/presentationFS102.oxw	(revision 9348)
@@ -23,5 +23,5 @@
   <Scene
    ambientlight = "0.1, 0.1, 0.1"
-   skybox       = "Orxonox/skypanoramagen1"
+   skybox       = "Orxonox/skyBoxBasic"
    gravity      = "0,-1000,0"
    negativeWorldRange = "-100000, -100000, -100000"
Index: code/trunk/data/levels/presentationFS10Ed.oxw
===================================================================
--- code/trunk/data/levels/presentationFS10Ed.oxw	(revision 9257)
+++ code/trunk/data/levels/presentationFS10Ed.oxw	(revision 9348)
@@ -23,5 +23,5 @@
   <Scene
    ambientlight = "0.1, 0.1, 0.1"
-   skybox       = "Orxonox/skypanoramagen1"
+   skybox       = "Orxonox/skyBoxBasic"
    gravity      = "0,-1000,0"
    negativeWorldRange = "-100000, -100000, -100000"
@@ -39,5 +39,5 @@
       </collisionShapes>
   </Pawn>
- 
+
   <Pawn health=100 position="0,-35,0" direction="0,-1,0" collisionType=dynamic mass=100000>
       <attached>
@@ -48,5 +48,5 @@
       </collisionShapes>
   </Pawn>
- 
+
   <StaticEntity position="0,-50,0" direction="0,-1,0" collisionType=static mass=100000 >
       <attached>
@@ -66,5 +66,5 @@
       </collisionShapes>
   </StaticEntity>
- 
+
    <StaticEntity position="600,-20,0" direction="0,-1,0" collisionType=static mass=100000 >
       <attached>
@@ -84,5 +84,5 @@
       </collisionShapes>
   </StaticEntity>
- 
+
   <StaticEntity position="600,40,250" direction="0,-1,0" collisionType=static mass=100000 >
       <attached>
@@ -93,6 +93,6 @@
       </collisionShapes>
   </StaticEntity>
- 
- 
+
+
    <StaticEntity position="6000,0,10250" direction="0,0,0" collisionType=static mass=100000 >
       <attached>
@@ -103,5 +103,5 @@
       </collisionShapes>
   </StaticEntity>
-  
+
   <Pawn health=100 position="530,70,1450" direction="-1,0,0" collisionType=dynamic mass=1 >
       <attached>
@@ -112,5 +112,5 @@
       </collisionShapes>
   </Pawn>
-  
+
   <Pawn health=100 position="670,70,1450" direction="-1,0,0" collisionType=dynamic mass=1 >
       <attached>
@@ -121,5 +121,5 @@
       </collisionShapes>
   </Pawn>
-  
+
    <Pawn health=100 position="600,70,1500" direction="0,0,-1" collisionType=dynamic mass=1 >
       <attached>
@@ -130,5 +130,5 @@
       </collisionShapes>
   </Pawn>
-  
+
    <Pawn health=100 position="600,150,1450" direction="0,-1,0" collisionType=dynamic mass=1 >
       <attached>
@@ -139,5 +139,5 @@
       </collisionShapes>
   </Pawn>
-  
+
   <Pawn health=100 position="600,35,1450" direction="0,-1,0" collisionType=dynamic mass=1 >
       <attached>
@@ -148,5 +148,5 @@
       </collisionShapes>
   </Pawn>
- 
+
 
   <SpawnPoint position="0,300,0" direction="0, 0, 0" lookat="0,0,100000000" spawnclass=FpsPlayer pawndesign=fps />
@@ -163,8 +163,8 @@
       <attached>
         <Model position="0,0,0" scale3D="<?lua print(j*100) ?>,<?lua print(g*100) ?>,<?lua print(h*100) ?>" mesh="cube<?lua
-	if math.mod(i,4)==0 then print('_green') end
-	if math.mod(i,4)==1 then print('_red') end
-	if math.mod(i,4)==2 then print('_orange') end
-	?>.mesh" /> <!--if it's 3, cube.mesh is taken -> yellow -->
+        if math.mod(i,4)==0 then print('_green') end
+        if math.mod(i,4)==1 then print('_red') end
+        if math.mod(i,4)==2 then print('_orange') end
+        ?>.mesh" /> <!--if it's 3, cube.mesh is taken -> yellow -->
       </attached>
       <collisionShapes>
Index: code/trunk/data/levels/presentationFS11.oxw
===================================================================
--- code/trunk/data/levels/presentationFS11.oxw	(revision 9257)
+++ code/trunk/data/levels/presentationFS11.oxw	(revision 9348)
@@ -422,8 +422,5 @@
     </SimpleNotification>
 
-    <PickupSpawner position="-72487,420,-63" respawnTime="10" triggerDistance="20" maxSpawnedItems="5" active="false">
-      <pickup>
-        <ShrinkPickup template ="smallshrinkpickup"/>
-      </pickup>
+    <PickupSpawner pickup="smallshrinkpickup" position="-72487,420,-63" respawnTime="10" triggerDistance="20" maxSpawnedItems="5" active="false">
       <events>
         <activity>
Index: code/trunk/data/levels/presentationHS09.oxw
===================================================================
--- code/trunk/data/levels/presentationHS09.oxw	(revision 9257)
+++ code/trunk/data/levels/presentationHS09.oxw	(revision 9348)
@@ -27,5 +27,5 @@
   <Scene
    ambientlight = "0.6, 0.4, 0.4"
-   skybox       = "Orxonox/skypanoramagen2"
+   skybox       = "Orxonox/skyBoxSomeNebula"
   >
 
@@ -97,33 +97,22 @@
     <Billboard material="Test/Fog" position="-3800, 2500, 1500" alpha="0.1" color="1, 1, 1, 0.1" scale="0.5" />
 
-    <PickupSpawner position="-3800, 2500, 1500" respawnTime="60" triggerDistance="20" maxSpawnedItems="5">
-      <pickup>
-        <SpeedPickup template=smalljumppickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=smalljumppickup position="-3800, 2500, 1500" respawnTime="60" triggerDistance="20" maxSpawnedItems="5" />
 
     <!-- PickupRepresentation for the pickup below, since it is not a standard pickup provided by pickups.oxi -->
     <PickupRepresentation
+      name = "MediumHealth"
       pickupName = "Medium Health Pack"
       pickupDescription = "Once used adds a medium amout of health to the ship."
       spawnerTemplate = "mediumhealthpickupRepresentation"
       inventoryRepresentation = "MediumHealth"
-    >
-      <pickup>
-        <HealthPickup health=100 activationType="onUse" durationType="once" />
-      </pickup>
-    </PickupRepresentation>
-
-    <PickupSpawner position="-4150,2750,1550" respawnTime="60" triggerDistance="20" maxSpawnedItems="5">
-      <pickup>
-        <HealthPickup health=100 activationType=onUse durationType=once />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="2300, 4300, 2400" respawnTime="5" triggerDistance="20">
-      <pickup>
-        <HealthPickup template=mediumhealthpickup />
-      </pickup>
-    </PickupSpawner>
+    />
+
+    <Template name=onusehealthpickup baseclass=HealthPickup>
+      <HealthPickup representation="MediumHealth" health=100 activationType=onUse durationType=once />
+    </Template>
+
+    <PickupSpawner pickup=onusehealthpickup position="-4150,2750,1550" respawnTime="60" triggerDistance="20" maxSpawnedItems="5" />
+
+    <PickupSpawner pickup=mediumhealthpickup position="2300, 4300, 2400" respawnTime="5" triggerDistance="20" />
 
     <Billboard position="-2500, 2400, 1500" material="Examples/Flare" />
Index: code/trunk/data/levels/presentationHS11.oxw
===================================================================
--- code/trunk/data/levels/presentationHS11.oxw	(revision 9257)
+++ code/trunk/data/levels/presentationHS11.oxw	(revision 9348)
@@ -1,5 +1,8 @@
+<!--  -->
+
+
 <LevelInfo
  name = "Presentation HS 2011"
- description = "Oxonox Proudly Presents New Features From HS 2011"
+ description = "New Features: Asteroid field/belt generator; Formationflight; HUD (Enemyhealthbar, displaying Names)"
  tags = "presentation"
 />
@@ -79,4 +82,6 @@
         </events>
     </SimpleNotification>
+
+
 
 
@@ -131,15 +136,103 @@
 <?lua end ?>
 
-
-
-
-
-
+<!-- @Triggers: "hintX" <->  delayed LetsGo -->
+    <EventTrigger name="hint1" activations="1" stayactive="true" delay=4.2>
+      <events>
+        <trigger>
+          <EventListener event="LetsGo" />
+        </trigger>
+      </events>
+    </EventTrigger>
+    <EventTrigger name="hint2" activations="1" stayactive="true" delay=8.4>
+      <events>
+        <trigger>
+          <EventListener event="LetsGo" />
+        </trigger>
+      </events>
+    </EventTrigger>
+    <EventTrigger name="hint3" activations="1" stayactive="true" delay=12.6>
+      <events>
+        <trigger>
+          <EventListener event="LetsGo" />
+        </trigger>
+      </events>
+    </EventTrigger>
+    <EventTrigger name="hint4" activations="1" stayactive="true" delay=16.8>
+      <events>
+        <trigger>
+          <EventListener event="LetsGo" />
+        </trigger>
+      </events>
+    </EventTrigger>
+    <EventTrigger name="hint5" activations="1" stayactive="true" delay=21>
+      <events>
+        <trigger>
+          <EventListener event="LetsGo" />
+        </trigger>
+      </events>
+    </EventTrigger>
+    <EventTrigger name="hint6" activations="1" stayactive="true" delay=25.2>
+      <events>
+        <trigger>
+          <EventListener event="LetsGo" />
+        </trigger>
+      </events>
+    </EventTrigger>
+
+
+
+    <SimpleNotification message="Make bots follow you: Press (1)"  broadcast="true">
+        <events>
+            <trigger>
+                <EventListener event=hint1 />
+            </trigger>
+        </events>
+    </SimpleNotification>
+
+    <SimpleNotification message="Toggle group behaviour: Press (1)"  broadcast="true">
+        <events>
+            <trigger>
+                <EventListener event=hint2 />
+            </trigger>
+        </events>
+    </SimpleNotification>
+
+    <SimpleNotification message="Tell the bots to defend you: Press (2)"  broadcast="true">
+        <events>
+            <trigger>
+                <EventListener event=hint3 />
+            </trigger>
+        </events>
+    </SimpleNotification>
+
+    <SimpleNotification message="Make them attack opponents: Press (2) again"  broadcast="true">
+        <events>
+            <trigger>
+                <EventListener event=hint4 />
+            </trigger>
+        </events>
+    </SimpleNotification>
+
+    <SimpleNotification message="Let the bots behave 'normal': Press (2) again"  broadcast="true">
+        <events>
+            <trigger>
+                <EventListener event=hint5 />
+            </trigger>
+        </events>
+    </SimpleNotification>
+
+    <SimpleNotification message="Have a look at the console to verify this."  broadcast="true">
+        <events>
+            <trigger>
+                <EventListener event=hint6 />
+            </trigger>
+        </events>
+    </SimpleNotification>
 
 <!-- Generate asteroid field and asteroid belt -->
-<!-- asteroidBelt(centerX, centerY, centerZ, yaw, pitch, segments, minSize, maxSize, radius0, radius1, count, fog) --> 
+<!-- asteroidBelt(centerX, centerY, centerZ, yaw, pitch, segments, minSize, maxSize, radius0, radius1, count, fog) -->
     <?lua
-    	dofile("includes/asteroidField.lua")
-    	asteroidBelt(20000, 0, 13000, -48, -34, 70, 100, 200, 22000, 20000, 500, 1)
+        dofile("includes/asteroidField.lua")
+        asteroidBelt(20000, 0, 13000, -48, -34, 70, 100, 200, 22000, 20000, 500, 1)
 
     ?>
Index: code/trunk/data/levels/princessAeryn.oxw
===================================================================
--- code/trunk/data/levels/princessAeryn.oxw	(revision 9257)
+++ code/trunk/data/levels/princessAeryn.oxw	(revision 9348)
@@ -26,5 +26,5 @@
   <Scene
     ambientlight = "0.3, 0.3, 0.3"
-    skybox     = "Orxonox/skypanoramagen1"
+    skybox     = "Orxonox/skyBoxBasic"
   >
 
Index: code/trunk/data/levels/screenshot.oxw
===================================================================
--- code/trunk/data/levels/screenshot.oxw	(revision 9257)
+++ code/trunk/data/levels/screenshot.oxw	(revision 9348)
@@ -25,5 +25,5 @@
   <Scene
    ambientlight = "0.7, 0.6, 0.6"
-   skybox       = "Orxonox/skypanoramagen1"
+   skybox       = "Orxonox/skyBoxBasic"
   >
     <!--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" /-->
Index: code/trunk/data/levels/surfaceRace.oxw
===================================================================
--- code/trunk/data/levels/surfaceRace.oxw	(revision 9348)
+++ code/trunk/data/levels/surfaceRace.oxw	(revision 9348)
@@ -0,0 +1,450 @@
+<!-- 
+TODO:
+    Replace bottom's texture. It just does not look good.
+-->
+
+<LevelInfo
+ name = "Surface Race"
+ description = "Race on a planet's surface. Try to reach the goal in 70 Seconds."
+ screenshot = "surfaceRace.png"
+ tags = "gametype"
+/>
+
+<?lua
+  include("stats.oxo")
+  include("HUDTemplates3.oxo")
+  include("templates/lodInformation.oxt")
+  include("templates/spaceshipRace.oxt")
+  include("templates/pickupRepresentationTemplates.oxt")
+
+?>
+
+
+<Level
+  gametype = SpaceRace
+>
+
+  <templates>
+    <Template link=lodtemplate_default />
+  </templates>
+  <?lua include("includes/notifications.oxi") ?>
+
+  <Scene
+    ambientlight = "2.0, 2.0, 2.0"
+    skybox       = "Orxonox/skyBoxClouds"
+    gravity      = "0,-75,0"
+    negativeWorldRange = "-100000, -100000, -100000"
+    positiveWorldRange = " 100000,  100000,  100000"
+    hasPhysics   = true
+  >
+
+    <?lua
+      include("includes/pickups.oxi")
+    ?>
+
+  <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"/>
+
+
+
+<SpaceRaceManager>
+ <checkpoints>
+    <RaceCheckPoint name="checkpoint1" position="0,8050,-1000" direction="0,1,0" collisionType="static" scale="4" distance="150" checkpointindex="0" islast="false" nextcheckpoints="1,-1,-1">
+        <attached>
+            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+
+<!--
+        <Model position="0,0,55" mesh="testcube.mesh" scale3D="110,20,20" />
+        <Model position="0,0,-55" mesh="testcube.mesh" scale3D="110,20,20" />
+        <Model position="55,0,0" mesh="testcube.mesh" scale3D="20,20,110" />
+        <Model position="-55,0,0" mesh="testcube.mesh" scale3D="20,20,110" />
+
+-->
+
+
+        </attached>
+
+
+
+    <collisionShapes>
+
+
+            <BoxCollisionShape position="0,0,220"     halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="0,0,-220"      halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="220,0,0"      halfExtents="40, 40, 220" />
+            <BoxCollisionShape position="-220,0,0"       halfExtents="40, 40, 220" />
+
+
+        </collisionShapes>
+
+
+
+
+    </RaceCheckPoint>
+
+<RaceCheckPoint name="checkpoint2" position="1000,8050,-4000" direction="0,1,0" roll="45" collisionType="static" scale="4" distance="150" checkpointindex="1" islast="false" nextcheckpoints="2,-1,-1">
+        <attached>
+            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+        </attached>
+
+
+           <collisionShapes>
+
+            <BoxCollisionShape position="0,0,220"     halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="0,0,-220"      halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="220,0,0"      halfExtents="40, 40, 220" />
+            <BoxCollisionShape position="-220,0,0"       halfExtents="40, 40, 220" />
+
+        </collisionShapes>
+    </RaceCheckPoint>
+
+
+
+<RaceCheckPoint name="checkpoint3" position="3000,8050,-4000" direction="0,1,0" roll="-45" collisionType="static" scale="4" distance="150" checkpointindex="2" islast="false" nextcheckpoints="3,-1,-1">
+        <attached>
+            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+        </attached>
+       <collisionShapes>
+
+
+            <BoxCollisionShape position="0,0,220"     halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="0,0,-220"      halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="220,0,0"      halfExtents="40, 40, 220" />
+            <BoxCollisionShape position="-220,0,0"       halfExtents="40, 40, 220" />
+
+
+        </collisionShapes>
+
+    </RaceCheckPoint>
+
+
+<RaceCheckPoint name="checkpoint4" position="4000,8050,-1000" direction="0,1,0" roll="0" collisionType="static" scale="4" distance="150" checkpointindex="3" islast="false" nextcheckpoints="4,-1,-1">
+        <attached>
+            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+        </attached>
+        <collisionShapes>
+
+
+            <BoxCollisionShape position="0,0,220"     halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="0,0,-220"      halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="220,0,0"      halfExtents="40, 40, 220" />
+            <BoxCollisionShape position="-220,0,0"       halfExtents="40, 40, 220" />
+
+
+        </collisionShapes>
+
+    </RaceCheckPoint>
+
+
+<RaceCheckPoint name="checkpoint5" position="4000,8050,0" direction="0,1,0" roll="0" collisionType="static" scale="4" distance="150" checkpointindex="4" islast="false" nextcheckpoints="5,-1,-1">
+        <attached>
+            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+        </attached>
+        <collisionShapes>
+
+
+            <BoxCollisionShape position="0,0,220"     halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="0,0,-220"      halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="220,0,0"      halfExtents="40, 40, 220" />
+            <BoxCollisionShape position="-220,0,0"       halfExtents="40, 40, 220" />
+
+
+        </collisionShapes>
+
+    </RaceCheckPoint>
+
+
+<RaceCheckPoint name="checkpoint6" position="3000,8050,1000" direction="0,1,0" roll="45" collisionType="static" scale="4" distance="150" checkpointindex="5" islast="false" nextcheckpoints="6,-1,-1">
+        <attached>
+            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+        </attached>
+       <collisionShapes>
+
+
+            <BoxCollisionShape position="0,0,220"     halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="0,0,-220"      halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="220,0,0"      halfExtents="40, 40, 220" />
+            <BoxCollisionShape position="-220,0,0"       halfExtents="40, 40, 220" />
+
+
+        </collisionShapes>
+    </RaceCheckPoint>
+
+
+
+<RaceCheckPoint name="checkpoint7" position="0,8050,2000" direction="0,1,0" roll="90" collisionType="static" scale="4" distance="150" checkpointindex="6" islast="false" nextcheckpoints="7,-1,-1">
+        <attached>
+            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+        </attached>
+      <collisionShapes>
+
+
+            <BoxCollisionShape position="0,0,220"     halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="0,0,-220"      halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="220,0,0"      halfExtents="40, 40, 220" />
+            <BoxCollisionShape position="-220,0,0"       halfExtents="40, 40, 220" />
+
+
+        </collisionShapes>
+
+    </RaceCheckPoint>
+
+
+
+<RaceCheckPoint name="checkpoint8" position="-4000,8050,3000" direction="0,1,0" roll="45" collisionType="static" scale="4" distance="150" checkpointindex="7" islast="false" nextcheckpoints="8,-1,-1">
+        <attached>
+            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+        </attached>
+       <collisionShapes>
+
+            <BoxCollisionShape position="0,0,220"     halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="0,0,-220"      halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="220,0,0"      halfExtents="40, 40, 220" />
+            <BoxCollisionShape position="-220,0,0"       halfExtents="40, 40, 220" />
+
+        </collisionShapes>
+    </RaceCheckPoint>
+
+
+<RaceCheckPoint name="checkpoint9" position="-4000,8050,5000" direction="0,1,0" roll="-45" collisionType="static" scale="4" distance="150" checkpointindex="8" islast="false" nextcheckpoints="9,-1,-1">
+        <attached>
+            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+        </attached>
+         <collisionShapes>
+
+
+            <BoxCollisionShape position="0,0,220"     halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="0,0,-220"      halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="220,0,0"      halfExtents="40, 40, 220" />
+            <BoxCollisionShape position="-220,0,0"       halfExtents="40, 40, 220" />
+
+
+        </collisionShapes>
+
+    </RaceCheckPoint>
+
+
+<RaceCheckPoint name="checkpoint10" position="-3000,8050,6000" direction="0,1,0" roll="90" collisionType="static" scale="4" distance="150" checkpointindex="9" islast="false" nextcheckpoints="10,-1,-1">
+        <attached>
+            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+        </attached>
+       <collisionShapes>
+
+
+            <BoxCollisionShape position="0,0,220"     halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="0,0,-220"      halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="220,0,0"      halfExtents="40, 40, 220" />
+            <BoxCollisionShape position="-220,0,0"       halfExtents="40, 40, 220" />
+
+
+        </collisionShapes>
+
+    </RaceCheckPoint>
+
+<RaceCheckPoint name="checkpoint11" position="0,8050,6000" direction="0,1,0" roll="90" collisionType="static" scale="4" distance="120" checkpointindex="10" islast="false" nextcheckpoints="11,-1,-1">
+        <attached>
+            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+        </attached>
+       <collisionShapes>
+
+
+            <BoxCollisionShape position="0,0,220"     halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="0,0,-220"      halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="220,0,0"      halfExtents="40, 40, 220" />
+            <BoxCollisionShape position="-220,0,0"       halfExtents="40, 40, 220" />
+
+
+        </collisionShapes>
+
+    </RaceCheckPoint>
+
+<RaceCheckPoint name="checkpoint12" position="6000,8050,6000" direction="0,1,0" roll="45" collisionType="static" scale="4" distance="150" checkpointindex="11" islast="false" nextcheckpoints="12,-1,-1">
+        <attached>
+            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+        </attached>
+      <collisionShapes>
+
+
+            <BoxCollisionShape position="0,0,220"     halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="0,0,-220"      halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="220,0,0"      halfExtents="40, 40, 220" />
+            <BoxCollisionShape position="-220,0,0"       halfExtents="40, 40, 220" />
+
+
+        </collisionShapes>
+
+    </RaceCheckPoint>
+
+
+
+<RaceCheckPoint name="checkpoint13" position="5500,8050,3000" direction="0,1,0" roll="0" collisionType="static" scale="4" distance="150" checkpointindex="12" islast="false" nextcheckpoints="13,-1,-1">
+        <attached>
+            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+        </attached>
+       <collisionShapes>
+
+            <BoxCollisionShape position="0,0,220"     halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="0,0,-220"      halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="220,0,0"      halfExtents="40, 40, 220" />
+            <BoxCollisionShape position="-220,0,0"       halfExtents="40, 40, 220" />
+
+        </collisionShapes>
+    </RaceCheckPoint>
+
+
+<RaceCheckPoint name="checkpoint14" position="6000,8050,-5000" direction="0,1,0" roll="0" collisionType="static" scale="4" distance="150" checkpointindex="13" islast="true" >
+        <attached>
+            <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />
+        </attached>
+       <collisionShapes>
+
+            <BoxCollisionShape position="0,0,220"     halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="0,0,-220"      halfExtents="220, 40, 40" />
+            <BoxCollisionShape position="220,0,0"      halfExtents="40, 40, 220" />
+            <BoxCollisionShape position="-220,0,0"       halfExtents="40, 40, 220" />
+
+        </collisionShapes>
+    </RaceCheckPoint>
+
+
+</checkpoints>
+</SpaceRaceManager>
+
+ <SpawnPoint team=0 position="0,8050,0" lookat="0,8000,-8000" spawnclass=SpaceShip pawndesign=spaceshiprace />
+
+
+    <!-- -----------------------Zylinder---------------------------- -->
+<StaticEntity position="2750,8050,6000" direction="1,0,0" roll="90"  scale="4" collisionType=static mass=100000 friction=0.01 >
+      <attached>
+    <Model position="0,0,0" mesh="cylinder.mesh" scale3D="100,100,400" />
+    <!--
+                <Model position="0,80,600" mesh="testcube.mesh" scale3D="90,18,-600" />
+        <Model position="0,-80,600" mesh="testcube.mesh" scale3D="90,18,-600" />
+        <Model position="80,0,600" mesh="testcube.mesh" scale3D="18,90,-600" />
+        <Model position="-80,0,600" mesh="testcube.mesh" scale3D="18,09,-600" />
+    -->
+
+      </attached>
+
+
+    <collisionShapes>
+
+
+        <BoxCollisionShape position="0,320,2400"            halfExtents="360,72,2400" />
+        <BoxCollisionShape position="0,-320,2400"      halfExtents="360,72,2400" />
+        <BoxCollisionShape position="320,0,2400"            halfExtents="72,360,2400" />
+        <BoxCollisionShape position="-320,0,2400"     halfExtents="72,360,2400" />
+
+
+
+        </collisionShapes>
+
+  </StaticEntity>
+
+<!-- ------------------Cube between gate 4 and 5----------------- -->
+<StaticEntity position="4465,8050,-500" direction="0,0,0"   scale="1" collisionType=static mass=100000 friction=0.01 >
+      <attached>
+    <Model position="0,0,0" mesh="blackcube.mesh" scale3D="450,600,50" />
+<!--
+                <Model position="0,0,0" mesh="testcube.mesh" scale3D="450,600,50" />
+        -->
+
+      </attached>
+
+
+    <collisionShapes>
+
+
+        <BoxCollisionShape position="0,0,0"            halfExtents="450,600,50" />
+
+        </collisionShapes>
+
+  </StaticEntity>
+
+<StaticEntity position="3535,8050,-500" direction="0,0,0"   scale="1" collisionType=static mass=100000 friction=0.01 >
+      <attached>
+    <Model position="0,0,0" mesh="blackcube.mesh" scale3D="450,600,50" />
+<!--
+                <Model position="0,0,0" mesh="testcube.mesh" scale3D="450,600,50" />
+        -->
+
+      </attached>
+
+
+    <collisionShapes>
+
+
+        <BoxCollisionShape position="0,0,0"            halfExtents="450,600,50" />
+
+        </collisionShapes>
+
+  </StaticEntity>
+
+
+
+
+    <!-- ------------------Boden----------------- -->
+  <StaticEntity position="0,0,0" direction="0,0,0" collisionType=static mass=100000 friction=0.01>
+     <attached>
+        <Model position="0,0,0" mesh="CubeGround.mesh" scale3D="8000,8000,8000" />
+      </attached>
+      <collisionShapes>
+        <BoxCollisionShape position="0,50,0" halfExtents="8000,8000,8000" />um j?:P"{
+
+      </collisionShapes>
+</StaticEntity>
+
+
+<!-- ---------------------PickUp---------------------- -->
+
+
+   <PickupSpawner pickup=smallspeedpickup position="4000,8050,0" triggerDistance="40" respawnTime="10" maxSpawnedItems="99" scale="8" />
+   <PickupSpawner pickup=mediumspeedpickup position="5500,8100,2000" triggerDistance="40" respawnTime="10" maxSpawnedItems="99" scale="8" />
+   <PickupSpawner pickup="mediumshrinkpickup" position="3000,8050,-4000" triggerDistance="40" respawnTime="60"  maxSpawnedItems="5" scale="8" />
+
+
+
+
+ <!-- ---------------asteroid ellipse----------------- -->
+
+ <?lua
+    max = 15
+    for i = 0, max, 1
+    do
+    x=-12000
+    y=10000
+    z=-12000
+
+    ?>
+    <?lua
+    for k = 1, 15, 1
+    do
+    j = math.random()
+    ?>
+
+    <MovableEntity
+      position = "<?lua print(x + math.random() * 20000) ?>,<?lua print(y + math.random() * 5000) ?>,<?lua print(z + math.random() * 20000) ?>"
+      collisionType = "dynamic"
+      linearDamping = "0.5"
+      angularDamping = "0.5"
+      collisiondamage = "100"
+      enablecollisiondamage = "true"
+      scale="<?lua print(j * 5) ?>" >
+      <attached>
+        <Model position="0,0,0" scale="<?lua print(j * 10) ?>" mesh="ast<?lua print( math.mod(i,6) + 1) ?>.mesh">
+      <?lua if k == 0 then ?><attached><!-- ---------asteroid fog----- -->
+            <ParticleEmitter position="0,0,0" source="Orxonox/Steam" />
+          </attached> <?lua end ?>
+        </Model>
+      </attached>
+      <collisionShapes>
+        <SphereCollisionShape radius="<?lua print(j * 80) ?>" />
+      </collisionShapes>
+    </MovableEntity>
+    <?lua
+    end
+    ?>
+    <?lua end ?>
+
+  </Scene>
+</Level>
+
Index: code/trunk/data/levels/teamBaseMatch.oxw
===================================================================
--- code/trunk/data/levels/teamBaseMatch.oxw	(revision 9257)
+++ code/trunk/data/levels/teamBaseMatch.oxw	(revision 9348)
@@ -26,5 +26,5 @@
   <Scene
    ambientlight = "0.5, 0.5, 0.5"
-   skybox       = "Orxonox/skypanoramagen1"
+   skybox       = "Orxonox/skyBoxBasic"
   >
     <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" />
Index: code/trunk/data/levels/teamDeathMatch.oxw
===================================================================
--- code/trunk/data/levels/teamDeathMatch.oxw	(revision 9257)
+++ code/trunk/data/levels/teamDeathMatch.oxw	(revision 9348)
@@ -25,5 +25,5 @@
   <Scene
    ambientlight = "0.7, 0.6, 0.6"
-   skybox       = "Orxonox/skypanoramagen1"
+   skybox       = "Orxonox/skyBoxBasic"
   >
     <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" />
Index: code/trunk/data/levels/templates/FPS.oxt
===================================================================
--- code/trunk/data/levels/templates/FPS.oxt	(revision 9257)
+++ code/trunk/data/levels/templates/FPS.oxt	(revision 9348)
@@ -17,6 +17,6 @@
    linearDamping     = 0.7
    angularDamping    = 0.9999999
-   friction	     = 0.01
-   
+   friction          = 0.01
+
    weapon            = "hs-w01.mesh"
   >
@@ -24,11 +24,11 @@
       <BoxCollisionShape position="0,-20,0" halfExtents="15,25,15" />
     </collisionShapes>
-    
+
     <camerapositions>
       <CameraPosition position="-1,1,2.2" drag=false mouselook=true />
     </camerapositions>
-    
+
     <?lua
-	include("../includes/weaponSettingsFPS.oxi")
+        include("../includes/weaponSettingsFPS.oxi")
     ?>
 
@@ -40,5 +40,5 @@
     <camerapositions>
       <CameraPosition position="0,0,20" drag=false mouselook=true />
-      
+
       <!--
       CameraPosition position="0,150,-25" pitch=-90 drag=true />
@@ -47,5 +47,5 @@
       <CameraPosition position="-50,5,-8" yaw=-90 drag=true />
       <CameraPosition position="50,5,-8" yaw=90 drag=true /
-      
+
     </camerapositions>
   </FpsPlayer>
Index: code/trunk/data/levels/templates/pickupRepresentationTemplates.oxt
===================================================================
--- code/trunk/data/levels/templates/pickupRepresentationTemplates.oxt	(revision 9257)
+++ code/trunk/data/levels/templates/pickupRepresentationTemplates.oxt	(revision 9348)
@@ -17,6 +17,7 @@
 </Template>
 
-<Template name=smallshieldpickup>
+<Template name=smallshieldpickup baseclass=ShieldPickup>
   <ShieldPickup
+    representation = "smallshieldpickup"
     duration = 10
     shieldabsorption = 0.7
@@ -43,6 +44,7 @@
 </Template>
 
-<Template name=mediumshieldpickup>
+<Template name=mediumshieldpickup baseclass=ShieldPickup>
   <ShieldPickup
+    representation = "mediumshieldpickup"
     duration = 30
     shieldabsorption = 0.8
@@ -70,6 +72,7 @@
 </Template>
 
-<Template name=hugeshieldpickup>
+<Template name=hugeshieldpickup baseclass=ShieldPickup>
   <ShieldPickup
+    representation = "hugeshieldpickup"
     duration = 60
     shieldabsorption = 0.95
@@ -98,6 +101,7 @@
 </Template>
 
-<Template name=smallhealthpickup>
+<Template name=smallhealthpickup baseclass=HealthPickup>
   <HealthPickup
+    representation = "smallhealthpickup"
     health = 10
     healthType = "limited"
@@ -123,6 +127,7 @@
 </Template>
 
-<Template name=mediumhealthpickup>
+<Template name=mediumhealthpickup baseclass=HealthPickup>
   <HealthPickup
+    representation = "mediumhealthpickup"
     health = 50
     healthType = "limited"
@@ -148,6 +153,7 @@
 </Template>
 
-<Template name=hugehealthpickup>
+<Template name=hugehealthpickup baseclass=HealthPickup>
   <HealthPickup
+    representation = "hugehealthpickup"
     health = 100
     healthType = "limited"
@@ -173,6 +179,7 @@
 </Template>
 
-<Template name=crazyhealthpickup>
+<Template name=crazyhealthpickup baseclass=HealthPickup>
   <HealthPickup
+    representation = "crazyhealthpickup"
     health = 1000
     healthType = "permanent"
@@ -216,4 +223,85 @@
 </Template>
 
+<!-- DamageBoost pickups -->
+
+<Template name=smalldamageboostpickupRepresentation>
+    <PickupRepresentation>
+        <spawner-representation>
+            <StaticEntity>
+                <attached>
+                    <Billboard position="0,0,0" colour="0.95,0.10,0.05" material="Sphere2" scale=0.1 >
+                        <attached>
+                            <Billboard position="0,0,0" colour="0.30,0.30,0.30" material="damageSmall" scale=0.7 />
+                        </attached>
+                    </Billboard>
+                </attached>
+            </StaticEntity>
+        </spawner-representation>
+    </PickupRepresentation>
+</Template>
+
+<Template name=smalldamageboostpickup baseclass=DamageBoostPickup>
+  <DamageBoostPickup
+    representation = "smalldamageboostpickup"
+    duration = 10.0
+    damageMultiplier = 2.0
+    activationType = "immediate"
+    durationType = "continuous"
+  />
+</Template>
+
+<Template name=mediumdamageboostpickupRepresentation>
+    <PickupRepresentation>
+        <spawner-representation>
+            <StaticEntity>
+                <attached>
+                    <Billboard position="0,0,0" colour="0.95,0.10,0.05" material="Sphere2" scale=0.1 >
+                        <attached>
+                            <Billboard position="0,0,0" colour="0.30,0.30,0.30" material="damageMedium" scale=0.7 />
+                        </attached>
+                    </Billboard>
+                </attached>
+            </StaticEntity>
+        </spawner-representation>
+    </PickupRepresentation>
+</Template>
+
+<Template name=mediumdamageboostpickup baseclass=DamageBoostPickup>
+  <DamageBoostPickup
+    representation = "mediumdamageboostpickup"
+    duration = 10.0
+    damageMultiplier = 5.0
+    activationType = "immediate"
+    durationType = "continuous"
+  />
+</Template>
+
+<Template name=largedamageboostpickupRepresentation>
+    <PickupRepresentation>
+        <spawner-representation>
+            <StaticEntity>
+                <attached>
+                    <Billboard position="0,0,0" colour="0.95,0.10,0.05" material="Sphere2" scale=0.1 >
+                        <attached>
+                            <Billboard position="0,0,0" colour="0.30,0.30,0.30" material="damageLarge" scale=0.7 />
+                        </attached>
+                    </Billboard>
+                </attached>
+            </StaticEntity>
+        </spawner-representation>
+    </PickupRepresentation>
+</Template>
+
+<Template name=largedamageboostpickup baseclass=DamageBoostPickup>
+  <DamageBoostPickup
+    representation = "largedamageboostpickup"
+    duration = 10.0
+    damageMultiplier = 7.0
+    activationType = "immediate"
+    durationType = "continuous"
+  />
+</Template>
+
+
 <!-- Speed pickups -->
 
@@ -234,6 +322,7 @@
 </Template>
 
-<Template name=smallspeedpickup>
+<Template name=smallspeedpickup baseclass=SpeedPickup>
   <SpeedPickup
+    representation = "smallspeedpickup"
     duration = 10.0
     speedAdd = 0.0
@@ -260,6 +349,7 @@
 </Template>
 
-<Template name=mediumspeedpickup>
+<Template name=mediumspeedpickup baseclass=SpeedPickup>
   <SpeedPickup
+    representation = "mediumspeedpickup"
     duration = 10.0
     speedAdd = 0.0
@@ -286,6 +376,7 @@
 </Template>
 
-<Template name=hugespeedpickup>
+<Template name=hugespeedpickup baseclass=SpeedPickup>
   <SpeedPickup
+    representation = "hugespeedpickup"
     duration = 10.0
     speedAdd = 0.0
@@ -312,6 +403,7 @@
 </Template>
 
-<Template name=smalljumppickup>
+<Template name=smalljumppickup baseclass=SpeedPickup>
   <SpeedPickup
+    representation = "smalljumppickup"
     duration = 0.7
     speedAdd = 5000.0
@@ -340,6 +432,7 @@
 </Template>
 
-<Template name=smallinvisiblepickup>
+<Template name=smallinvisiblepickup baseclass=InvisiblePickup>
   <InvisiblePickup 
+    representation = "smallinvisiblepickup"
     duration = 5.0
     activaionType = "immediate"
@@ -364,6 +457,7 @@
 </Template>
 
-<Template name=mediuminvisiblepickup>
+<Template name=mediuminvisiblepickup baseclass=InvisiblePickup>
   <InvisiblePickup 
+    representation = "mediuminvisiblepickup"
     duration = 10.0
     activaionType = "immediate"
@@ -388,6 +482,7 @@
 </Template>
 
-<Template name=hugeinvisiblepickup>
+<Template name=hugeinvisiblepickup baseclass=InvisiblePickup>
   <InvisiblePickup 
+    representation = "hugeinvisiblepickup"
     duration = 20.0
     activaionType = "immediate"
@@ -412,6 +507,7 @@
 </Template>
 
-<Template name=smallshrinkpickup>
-  <InvisiblePickup 
+<Template name=smallshrinkpickup baseclass=ShrinkPickup>
+  <ShrinkPickup 
+    representation = "smallshrinkpickup"
     duration = 10.0
     shrinkFactor = 2.5
@@ -437,6 +533,7 @@
 </Template>
 
-<Template name=mediumshrinkpickup>
-  <InvisiblePickup 
+<Template name=mediumshrinkpickup baseclass=ShrinkPickup>
+  <ShrinkPickup 
+    representation = "mediumshrinkpickup"
     duration = 30.0
     shrinkFactor = 5.0
@@ -462,6 +559,7 @@
 </Template>
 
-<Template name=hugeshrinkpickup>
-  <InvisiblePickup 
+<Template name=hugeshrinkpickup baseclass=ShrinkPickup>
+  <ShrinkPickup 
+    representation = "hugeshrinkpickup"
     duration = 60.0
     shrinkFactor = 10.0
@@ -491,6 +589,8 @@
 </Template>
 
-<Template name=triplehealthspeedinvisibilitypickup>
-    <PickupCollection>
+<Template name=triplehealthspeedinvisibilitypickup baseclass=PickupCollection>
+    <PickupCollection
+        representation = "triplehealthspeedinvisibilitypickup"
+    >
         <pickupables>
             <HealthPickup template=mediumhealthpickup />
@@ -551,6 +651,6 @@
 </Template>
 
-<Template name=dronepickup>
-    <DronePickup droneTemplate=droneTemplate />
-</Template>
-
+<Template name=dronepickup baseclass=DronePickup>
+    <DronePickup representation=dronepickup droneTemplate=droneTemplate />
+</Template>
+
Index: code/trunk/data/levels/templates/spaceshipRace.oxt
===================================================================
--- code/trunk/data/levels/templates/spaceshipRace.oxt	(revision 9348)
+++ code/trunk/data/levels/templates/spaceshipRace.oxt	(revision 9348)
@@ -0,0 +1,119 @@
+<Template name=spaceshiprace>
+  <SpaceShip
+   hudtemplate            = spaceshiphud
+   camerapositiontemplate = spaceshipassffcameras
+   spawnparticlesource    = "Orxonox/fairytwirl"
+   spawnparticleduration  = 3
+   explosionchunks        = 6
+
+   health            = 100
+   maxhealth         = 200
+   initialhealth     = 100
+
+   shieldhealth        = 30
+   initialshieldhealth = 30
+   maxshieldhealth     = 50
+   shieldabsorption    = 0.8
+   reloadrate          = 1
+   reloadwaittime      = 1
+
+   primaryThrust     = 100
+   auxilaryThrust    = 30
+   rotationThrust    = 50
+
+   lift = 1;
+   stallSpeed = 220;
+
+   boostPower            = 15
+   boostPowerRate        = 1
+   boostRate             = 5
+   boostCooldownDuration = 10
+
+   shakeFrequency = 15
+   shakeAmplitude = 9
+
+   collisionType     = "dynamic"
+   mass              = 100
+   linearDamping     = 0.7
+   angularDamping    = 0.9999999
+  >
+    <engines>
+      <MultiStateEngine position=" 7.6, 0, 6" template=spaceshipassffengine />
+      <MultiStateEngine position="-7.6, 0, 0" template=spaceshipassffengine />
+    </engines>
+    <attached>
+      <Model position="0,0,0" yaw=90 pitch=-90 roll=0 scale=4 mesh="assff.mesh" />
+      <BlinkingBillboard position="17,-1.5,0" material="Examples/Flare" colour="1.0, 0.5, 0.3" amplitude=0.1 frequency=0.5 quadratic=1 />
+      <BlinkingBillboard position="-17,-1.5,0" material="Examples/Flare" colour="0.5, 1.0, 0.3" amplitude=0.1 frequency=0.5 phase=180 quadratic=1 />
+    </attached>
+    <collisionShapes>
+
+      <BoxCollisionShape position="0,0,0"      halfExtents="10, 3, 5" />
+      <BoxCollisionShape position="13,-1.3,0"  halfExtents="3, 1, 2" />
+      <BoxCollisionShape position="-13,-1.3,0" halfExtents="3, 1, 2" />
+      <BoxCollisionShape position="0,0,7"      halfExtents="3, 2, 2" />
+      <BoxCollisionShape position="0,0.1,-11"  halfExtents="2.2, 1.8, 6" />
+      <BoxCollisionShape position="0,0.1,-19"  halfExtents="1.4, 1, 2" />
+
+    </collisionShapes>
+<?lua
+  include("../includes/weaponSettingsAssff.oxi")
+?>
+  </SpaceShip>
+</Template>
+
+<Template name=spaceshipassffcameras defaults=0>
+  <SpaceShip>
+    <camerapositions>
+      <CameraPosition position="0,10, 40" drag=true mouselook=true />
+      <CameraPosition position="0,20, 80" drag=true mouselook=true />
+      <CameraPosition position="0,30,120" drag=true mouselook=true />
+    </camerapositions>
+  </SpaceShip>
+</Template>
+
+<Template name=spaceshipassffengine baseclass=MultiStateEngine>
+  <MultiStateEngine
+   boostfactor    = 2
+
+   speedfront     = 2500
+   speedback      =  50
+   speedleftright =  50
+   speedupdown    =  50
+
+   defEngineSndNormal = "sounds/Engine_low.ogg"
+   defEngineSndBoost = "sounds/Engine_high.ogg"
+
+   accelerationfront     = 500
+   accelerationbrake     = 500
+   accelerationback      =  125
+   accelerationleftright =  125
+   accelerationupdown    =  125
+  >
+    <EffectContainer condition="idle">
+      <WorldSound mainstate="activity" source="sounds/Engine_idle.ogg" looping=1 active=false/>
+    </EffectContainer>
+    <EffectContainer condition="not idle">
+      <FadingBillboard mainstate=activity active=false scale=0.1 position="7.6, 0, 9" colour="0.2, 0.65, 1.0, 1.0" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />
+      <FadingBillboard mainstate=activity active=false scale=0.1 position="-7.6, 0, 9" colour="0.2, 0.65, 1.0, 1.0" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />
+    </EffectContainer>
+    <EffectContainer condition="normal or brake">
+
+    </EffectContainer>
+    <EffectContainer condition="normal or boost">
+      <Backlight mainstate=activity active=false scale=0.4 name=bltest position=" 7.6, 0, 6" colour="0.2, 0.65, 1.0, 1.0" width=15 length=1500 lifetime=2 elements=50 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" />
+      <Backlight mainstate=activity active=false scale=0.4 name=bltest position="-7.6, 0, 6" colour="0.2, 0.65, 1.0, 1.0" width=15 length=1500 lifetime=2 elements=50 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" />
+    </EffectContainer>
+    <EffectContainer condition="boost">
+      <Backlight mainstate=activity active=false scale=0.4 name=bltest position=" 7.6, 0, 6" colour="0.6, 0.75, 0.8, 0.7" width=40 length=1000 lifetime=1 elements=30 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Examples/Flare" />
+      <Backlight mainstate=activity active=false scale=0.4 name=bltest position="-7.6, 0, 6" colour="0.6, 0.75, 0.8, 0.7" width=40 length=1000 lifetime=1 elements=30 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Examples/Flare" />
+    </EffectContainer>
+<!--    <EffectContainer condition="brake">
+      <FadingBillboard mainstate=activity active=false scale=0.3 position=" 8, 0, 6" colour="0.5, 0.0, 0.0, 0.3" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />
+      <FadingBillboard mainstate=activity active=false scale=0.3 position="-8, 0, 6" colour="0.5, 0.0, 0.0, 0.3" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />
+      <FadingBillboard mainstate=activity active=false scale=0.15 position=" 8, 0, 6" colour="1.0, 0.0, 0.0, 1.0" material="Flares/backlightflare" turnontime=0.5 turnofftime=0.5 />
+      <FadingBillboard mainstate=activity active=false scale=0.15 position="-8, 0, 6" colour="1.0, 0.0, 0.0, 1.0" material="Flares/backlightflare" turnontime=0.5 turnofftime=0.5 />
+    </EffectContainer>
+-->
+  </MultiStateEngine>
+</Template>
Index: code/trunk/data/levels/templates/tower.oxt
===================================================================
--- code/trunk/data/levels/templates/tower.oxt	(revision 9348)
+++ code/trunk/data/levels/templates/tower.oxt	(revision 9348)
@@ -0,0 +1,37 @@
+<Template name=tower>
+  <Tower
+
+
+   explosionchunks        = 6
+
+   reloadrate          = 3
+   reloadwaittime      = 1
+
+   collisionType     = "dynamic"
+   team = 2
+
+
+  >
+    <controller>
+        <WaypointPatrolController alertnessradius=1000 team=5>
+            <waypoints>
+                <Model mesh="cube.mesh" scale=0 position=" 700, 200, 100" />
+            </waypoints>
+        </WaypointPatrolController>
+    </controller>
+
+
+    <attached>
+        <Model position="0,0,0" scale=45 mesh="Tower.mesh" />
+    </attached>
+
+    <!--collisionShapes>
+
+    </collisionShapes-->
+
+<?lua
+  include("../includes/towerWeaponSettings.oxi")
+?>
+  </Tower>
+</Template>
+
Index: code/trunk/data/levels/testStars.oxw
===================================================================
--- code/trunk/data/levels/testStars.oxw	(revision 9257)
+++ code/trunk/data/levels/testStars.oxw	(revision 9348)
@@ -30,14 +30,14 @@
       <attached>
         <Model pitch=180 position="0,0,0" scale=1.5 mesh="rocket_test.mesh" >
-	  <attached>
-           <ParticleEmitter pitch=0 roll=0 position="0,5,0" source="Orxonox/laser" lifetime=2.0 loop=1 startdelay=3.0/>
-           <ParticleEmitter pitch=-90 roll=0 position="0,-5,0" source="Orxonox/particlecanon" lifetime=2.0 loop=1 startdelay=3.0/>
-           <ParticleEmitter pitch=-90 roll=0 position="0,0,-2" source="Orxonox/rocketfire" lifetime=2.0 loop=1 startdelay=3.0 />
-	   <ParticleEmitter pitch=-90 roll=0 position="0,0,-2" source="Orxonox/smoke" lifetime=2.0 loop=1 startdelay=3.0 />
+          <attached>
+            <ParticleEmitter pitch=0 roll=0 position="0,5,0" source="Orxonox/laser" lifetime=2.0 loop=1 startdelay=3.0/>
+            <ParticleEmitter pitch=-90 roll=0 position="0,-5,0" source="Orxonox/particlecanon" lifetime=2.0 loop=1 startdelay=3.0/>
+            <ParticleEmitter pitch=-90 roll=0 position="0,0,-2" source="Orxonox/rocketfire" lifetime=2.0 loop=1 startdelay=3.0 />
+            <ParticleEmitter pitch=-90 roll=0 position="0,0,-2" source="Orxonox/smoke" lifetime=2.0 loop=1 startdelay=3.0 />
           </attached>
-	  </Model>
-	</attached>
+        </Model>
+      </attached>
     </Rocket-->
-    
+
     <CreateStars numStars="6000" material="Examples/Flare" colour="1,1,1" radius=10000 colourDiff=0.1/>
 
Index: code/trunk/data/levels/testSwallow.oxw
===================================================================
--- code/trunk/data/levels/testSwallow.oxw	(revision 9257)
+++ code/trunk/data/levels/testSwallow.oxw	(revision 9348)
@@ -23,5 +23,5 @@
   <Scene
    ambientlight = "0.5, 0.5, 0.5"
-   skybox       = "Orxonox/skypanoramagen1"
+   skybox       = "Orxonox/skyBoxBasic"
   >
     <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" />
Index: code/trunk/data/levels/tetris.oxw
===================================================================
--- code/trunk/data/levels/tetris.oxw	(revision 9257)
+++ code/trunk/data/levels/tetris.oxw	(revision 9348)
@@ -9,5 +9,12 @@
   include("HUDTemplates3.oxo")
   include("stats.oxo")
+  include("tetrisHUD.oxo")
   include("templates/lodInformation.oxt")
+  include("templates/spaceshipAssff.oxt")
+  include("templates/spaceshipGhost.oxt")
+  include("templates/spaceshipPirate.oxt")
+  include("templates/spaceshipSwallow.oxt")
+  include("templates/spaceshipTransporter.oxt")
+  include("templates/spaceshipH2.oxt")
 ?>
 
@@ -16,6 +23,4 @@
     <camerapositions>
       <CameraPosition position="55,75,200" absolute=true />
-      <CameraPosition position="0,50,160" drag=true mouselook=true />
-      <CameraPosition position="0,50,0" pitch=-90 drag=true mouselook=true />
     </camerapositions>
   </TetrisStone>
@@ -25,8 +30,26 @@
   <TetrisStone camerapositiontemplate=tetrisstonecameras>
     <attached>
-      <Model position="0,0,0" mesh="crate.mesh" scale=1 />
+      <Model position="0,0,0" mesh="crate.mesh" scale=0.9 />
     </attached>
   </TetrisStone>
 </Template>
+
+
+
+<Template name=tetrisbrickcameras defaults=0>
+  <TetrisBrick>
+    <camerapositions>
+      <CameraPosition position="55,75,200" absolute=true />
+      <!--CameraPosition position="0,50,160" drag=true mouselook=true />
+      <CameraPosition position="0,50,0" pitch=-90 drag=true mouselook=true /-->
+    </camerapositions>
+  </TetrisBrick>
+</Template>
+
+<Template name=tetrisbrick>
+  <TetrisBrick camerapositiontemplate=tetrisbrickcameras>
+  </TetrisBrick>
+</Template>
+
 
 <Level
@@ -40,7 +63,15 @@
   <Scene
    ambientlight = "0.5, 0.5, 0.5"
-   skybox       = "Orxonox/skypanoramagen1"
+   skybox       = "Orxonox/skyBoxBasic"
   >
+<!--luke_grey_-_hypermode.ogg allgorythm-lift_up.ogg Fight1.ogg -->
+    <WorldAmbientSound
+      source="Ganymede.ogg"
+      looping="true"
+      playOnLoad="true"
+    />
+
     <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" />
+
 
     <?lua
@@ -50,5 +81,5 @@
     <?lua end ?>
 
-    <TetrisCenterpoint name=tetriscenter width=11 height=15 stoneSize=10 stoneTemplate=tetrisstone stoneSpeed=10 position="-55,-75,0">
+    <TetrisCenterpoint name=tetriscenter width=11 height=15 stoneSize=10 stoneTemplate=tetrisstone brickTemplate=tetrisbrick stoneSpeed=10 position="-55,-75,0">
         <attached>
             <Model position="55,-1,0" mesh="cube.mesh" scale3D="57,1,11" />
@@ -56,6 +87,103 @@
             <Model position="111,76,0" mesh="cube.mesh" scale3D="1,76,1" />
         </attached>
+        <!--collisionShapes>
+            <BoxCollisionShape position="55,-1,0"  halfExtents="57,1,11" />
+            <BoxCollisionShape position="-1,76,0"  halfExtents="1,76,1" />
+            <BoxCollisionShape position="111,76,0" halfExtents="1,76,1" />
+        </collisionShapes-->
     </TetrisCenterpoint>
 
+<!-- ------------ insert eye candy here  ---------------- -->
+
+<!-- asteroidBelt(centerX, centerY, centerZ, yaw, pitch, segments, minSize, maxSize, radius0, radius1, count, fog) -->
+<!-- DONT DARE TO TURN THE FOG ON, whithout finding a better belt position -->
+    <?lua
+    	dofile("includes/asteroidField.lua")
+    	asteroidBelt(10000, 0, 0, -40, -90, 70, 100, 200, 24000, 20000, 500, 0)
+
+    ?>
+<!-- -------- 4 spaceships rotating around the tetris field --------- -->
+    <SpaceShip position="1000,-75,1" lookat="0,0,0">
+      <templates>
+        <Template link=spaceshipswallow />
+      </templates>
+      <controller>
+        <WaypointController team=10 accuracy=200>
+          <waypoints>
+            <Model mesh="cube.mesh" scale=0 position="1000,-75,0" />
+            <Model mesh="cube.mesh" scale=0 position="650,-75,650" />
+            <Model mesh="cube.mesh" scale=0 position="-55,-75,1000" />
+            <Model mesh="cube.mesh" scale=0 position="-700,-75,650" />
+            <Model mesh="cube.mesh" scale=0 position="-1000,-75,0" />
+            <Model mesh="cube.mesh" scale=0 position="-700,-75,-650" />
+            <Model mesh="cube.mesh" scale=0 position="-55,-75,-1000" />
+            <Model mesh="cube.mesh" scale=0 position="650,-75,-650" />
+          </waypoints>
+        </WaypointController>
+      </controller>
+    </SpaceShip>
+    
+   <SpaceShip position="-500,-500,-400" lookat="0,0,0">
+      <templates>
+        <Template link=spaceshippirate />
+      </templates>
+      <controller>
+        <WaypointController team=10>
+          <waypoints>
+            <Model mesh="cube.mesh" scale=0 position="-1000,-200,0" />
+            <Model mesh="cube.mesh" scale=0 position="-700,-150,650" />
+            <Model mesh="cube.mesh" scale=0 position="-55,-75,1000" />
+            <Model mesh="cube.mesh" scale=0 position="650,100,650" />          
+            <Model mesh="cube.mesh" scale=0 position="1000,150,0" />
+            <Model mesh="cube.mesh" scale=0 position="650,100,-650" />
+            <Model mesh="cube.mesh" scale=0 position="-55,0,-1000" />
+            <Model mesh="cube.mesh" scale=0 position="-700,-100,-650" />
+          </waypoints>
+        </WaypointController>
+      </controller>
+    </SpaceShip>
+    
+       <SpaceShip position="-700,200,651" lookat="1,0,0">
+      <templates>
+        <Template link=spaceshipghost />
+      </templates>
+      <controller>
+        <WaypointController team=10 accuracy=300>
+          <waypoints>
+            <Model mesh="cube.mesh" scale=0 position="-700,200,650" />
+            <Model mesh="cube.mesh" scale=0 position="-55,100,1000" />
+            <Model mesh="cube.mesh" scale=0 position="650,0,650" />          
+            <Model mesh="cube.mesh" scale=0 position="1000,-100,0" />
+            <Model mesh="cube.mesh" scale=0 position="650,0,-650" />
+            <Model mesh="cube.mesh" scale=0 position="-55,100,-1000" />
+            <Model mesh="cube.mesh" scale=0 position="-700,200,-650" />
+            <Model mesh="cube.mesh" scale=0 position="-1000,300,0" />
+          </waypoints>
+        </WaypointController>
+      </controller>
+    </SpaceShip>
+    
+    <SpaceShip position="1000,-75,0" lookat="0,0,0">
+      <templates>
+        <Template link=spaceshipHtwo />
+      </templates>
+      <controller>
+        <WaypointController team=10>
+          <waypoints>
+            <Model mesh="cube.mesh" scale=0 position="400,240,400" />
+            <Model mesh="cube.mesh" scale=0 position="-55,240,700" />
+            <Model mesh="cube.mesh" scale=0 position="-500,240,400" />
+            <Model mesh="cube.mesh" scale=0 position="-700,240,0" />
+            <Model mesh="cube.mesh" scale=0 position="-500,240,-400" />
+            <Model mesh="cube.mesh" scale=0 position="-55,240,-700" />
+            <Model mesh="cube.mesh" scale=0 position="400,240,-400" />
+            <Model mesh="cube.mesh" scale=0 position="700,240,0" />
+          </waypoints>
+        </WaypointController>
+      </controller>
+    </SpaceShip>
+    
+    
+    
   </Scene>
 </Level>
Index: code/trunk/data/levels/theTimeMachine.oxw
===================================================================
--- code/trunk/data/levels/theTimeMachine.oxw	(revision 9257)
+++ code/trunk/data/levels/theTimeMachine.oxw	(revision 9348)
@@ -39,4 +39,8 @@
    angularDamping    = 0.9999999
   >
+    <engines>
+      <MultiStateEngine position=" 7.6, 0, 6" template=spaceshipassffengine />
+      <MultiStateEngine position="-7.6, 0, 0" template=spaceshipassffengine />
+    </engines>
     <attached>
       <Model position="0,0,0" yaw=90 pitch=-90 roll=0 scale=4 mesh="assff.mesh" />
@@ -71,5 +75,5 @@
     <Scene
         ambientlight="0.8,0.8,0.8"
-        skybox="Orxonox/skypanoramagen2"
+        skybox="Orxonox/skyBoxSomeNebula"
     >
 
Index: code/trunk/data/levels/towerDefense.oxw
===================================================================
--- code/trunk/data/levels/towerDefense.oxw	(revision 9348)
+++ code/trunk/data/levels/towerDefense.oxw	(revision 9348)
@@ -0,0 +1,140 @@
+<!-- TODO: Update the level's image-->
+
+<!-- See TowerDefenseReadme.txt for Information on this file -->
+
+<LevelInfo
+ name = "Tower Defense"
+ description = "Defend your Spacestation from incoming waves."
+ tags = "minigame"
+ screenshot = "emptylevel.png"
+/>
+
+<?lua
+  include("stats.oxo")
+  include("HUDTemplates3.oxo")
+  include("towerdefenseHUD.oxo")
+  include("templates/lodInformation.oxt")
+?>
+
+<?lua
+  include("templates/spaceshipAssff.oxt")
+  include("templates/spaceshipPirate.oxt")
+  include("templates/tower.oxt")
+?>
+
+<!-- Specify the position of the camera -->
+<Template name=centerpointmarkcamera defaults=0>
+  <Pawn>
+    <camerapositions>
+      <CameraPosition position="0,0,1500"/>
+    </camerapositions>
+  </Pawn>
+</Template>
+
+<!-- Loads a mesh to mark the center-->
+<Template name=centerpointmark>
+  <Pawn camerapositiontemplate=centerpointmarkcamera>
+    <attached>
+      <Model position="0,0,0" mesh="cylinder.mesh" scale3D="1,1,1" /> <!-- the camera is attached to this -->
+    </attached>
+  </Pawn>
+</Template>
+
+
+<!-- Template for a tower   EDIT: new towertemplate is included with "templates/tower" -->
+<!--Template name=towertemplate>
+  <Tower>
+    <attached>
+      <Model position="0,0,0" scale=0.25 mesh="Tower_ME.mesh" />
+    </attached>
+  </Tower>
+</Template-->
+
+
+
+
+
+<Level gametype = "TowerDefense">
+  <templates>
+    <Template link=lodtemplate_default />
+  </templates>
+
+  <?lua include("includes/notifications.oxi") ?>
+
+  <Scene
+    ambientlight = "0.8, 0.8, 0.8"
+    skybox       = "Orxonox/Starbox"
+  >
+
+    <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"/>
+
+    <!-- Spawns the camera, attached to a crate -->
+    <SpawnPoint team=0 position="0,0,0" spawnclass=Pawn pawndesign=centerpointmark />
+    <!--TeamSpawnPoint team=1 position="-7,7,4" direction="-1,0,0" roll=90 yaw=0 spawnclass=SpaceShip pawndesign=spaceshipassff /-->
+
+    <!--SpawnPoint team=1 position="0,0,10" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff  /-->
+    <!--SpawnPoint team=0 position="0,0,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff /-->
+
+    <SpaceShip position="-700,-500, 100" lookat="0,0,0" scale=3 team=1 >
+      <templates>
+        <Template link=spaceshipassff />
+      </templates>
+      <controller>
+        <WaypointController accuracy=60>
+          <waypoints>
+            <!-- 1,3 10,3 10,11, 13,11 -->
+            <Model mesh="cube.mesh" scale=0 position="-700,-500, 150" />
+            <Model mesh="cube.mesh" scale=0 position=" 200,-500, 150" />
+            <Model mesh="cube.mesh" scale=0 position=" 200, 300, 150" />
+            <Model mesh="cube.mesh" scale=0 position=" 500, 300, 150" />
+            <Model mesh="cube.mesh" scale=0 position=" 500, 700, 150" />
+          </waypoints>
+        </WaypointController>
+      </controller>
+    </SpaceShip>
+
+
+    <!--invisible entity to attach towers to, since playfield is static and towers are dynamic-->
+    <StaticEntity position=0,0,0>
+
+        <attached>
+            <Model position="-50,-50,0" mesh="Playfield_ME.mesh" scale=80 />
+            <!-- Base -->
+            <Model position="500,700,100" mesh="sphere.mesh" scale=80 />
+            <!--Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" /--> <!-- Only temporary needed to help align the collisionshape -->
+            <!-- This was used to mark the playfield, let's let it be here for now -->
+            <!--Model position="-8,8,0" mesh="crate.mesh" scale3D="0.3,0.3,0.3" /-->
+            <!--Model position="-8,-8,0" mesh="crate.mesh" scale3D="0.3,0.3,0.3" /-->
+            <!--Model position="8,-8,0" mesh="crate.mesh" scale3D="0.3,0.3,0.3" /-->
+            <!--Model position="8,8,0" mesh="crate.mesh" scale3D="0.3,0.3,0.3" /-->
+        </attached>
+        <collisionShapes> <!-- The collisionshape forbids other worldentities that have a collisionShape to fly through it.
+
+                               TODO: Find correct size for the collisionshape; since a collisionShape is invisible
+                               I added the crate wich currently has the same dimensions as the collisionshape.
+                               You have to adjust the crate's scale3D as well as the collisionshape's halfExtens to
+                               find the proper shape. -->
+           <BoxCollisionShape position="0,0,0" halfExtents="400,400,100" />
+        </collisionShapes>
+    </StaticEntity>
+
+
+
+
+    <!-- PlayField -->
+    <TowerDefenseCenterpoint
+    name=towerdefensecenter
+    width=16
+    height=16
+    tileScale=100
+    towerTemplate=tower
+    position="0,0,0"
+    direction="0,0,0"
+    collisionType=dynamic
+    mass=100000>
+
+    </TowerDefenseCenterpoint>
+
+  </Scene>
+</Level>
+
Index: code/trunk/data/levels/tutorial.oxw
===================================================================
--- code/trunk/data/levels/tutorial.oxw	(revision 9257)
+++ code/trunk/data/levels/tutorial.oxw	(revision 9348)
@@ -2,6 +2,7 @@
  name = "Coding Tutorial"
  description = "Level for the coding tutorial."
- tags = "tutorial"
+ tags = "tutorial, shipselection"
  screenshot = "codingtutorial.png"
+ startingships = "spaceshipassff, spaceshipghost, spaceshipspacecruiser"
 />
 
@@ -10,4 +11,6 @@
   include("stats.oxo")
   include("templates/spaceshipAssff.oxt")
+  include("templates/spaceshipGhost.oxt")
+  include("templates/spaceshipSpacecruiser.oxt")
   include("templates/lodInformation.oxt")
 ?>
@@ -21,10 +24,6 @@
   <Scene
    ambientlight = "0.5, 0.5, 0.5"
-   skybox       = "Orxonox/skypanoramagen1"
+   skybox       = "Orxonox/skyBoxBasic"
   >
-
-
-
-
 <Drone name="meineDrohne" primarythrust="80" auxilarythrust="10" rotationthrust="10" mass= "50" linearDamping = "0.9" angularDamping = "0.7">
   <attached>
@@ -53,5 +52,5 @@
       for i = 1, 10, 1 do
     ?>
-      <SpawnPoint position="<?lua print(math.random() * 1000 - 500) ?>,<?lua print(math.random() * 1000 - 500) ?>,<?lua print(math.random() * 1000 - 500) ?>" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff />
+      <SpawnPoint position="<?lua print(math.random() * 1000 - 500) ?>,<?lua print(math.random() * 1000 - 500) ?>,<?lua print(math.random() * 1000 - 500) ?>" lookat="0,0,0" spawnclass=SpaceShip pawndesign=shipselection />
     <?lua end ?>
 
Index: code/trunk/data/levels/underAttack.oxw
===================================================================
--- code/trunk/data/levels/underAttack.oxw	(revision 9257)
+++ code/trunk/data/levels/underAttack.oxw	(revision 9348)
@@ -12,5 +12,4 @@
   include("templates/lodInformation.oxt")
 ?>
-<!--OUTDATED: include("underAttackHUD.oxo") -->
 
 <Level
@@ -24,5 +23,5 @@
   <Scene
    ambientlight = "0.5, 0.5, 0.5"
-   skybox       = "Orxonox/skypanoramagen1"
+   skybox       = "Orxonox/skyBoxBasic"
   >
     <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" />
Index: code/trunk/data/levels/waypoints.oxw
===================================================================
--- code/trunk/data/levels/waypoints.oxw	(revision 9257)
+++ code/trunk/data/levels/waypoints.oxw	(revision 9348)
@@ -23,5 +23,5 @@
   <Scene
    ambientlight = "0.5, 0.5, 0.5"
-   skybox       = "Orxonox/skypanoramagen1"
+   skybox       = "Orxonox/skyBoxBasic"
   >
     <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" />
