Index: code/branches/presentation2012/data/levels/includes/towerWeaponSettings.oxi
===================================================================
--- code/branches/presentation2012/data/levels/includes/towerWeaponSettings.oxi	(revision 9244)
+++ code/branches/presentation2012/data/levels/includes/towerWeaponSettings.oxi	(revision 9245)
@@ -20,7 +20,7 @@
         <Weapon>
           <attached>
-            <Model mesh="LightningGun.mesh" pitch="100" roll="90" yaw="90" position="0,-1.3,0" scale=20/>
-            <Model mesh="LightningGun-s.mesh" pitch="78" roll="90" yaw="90" position="0.2,-1.3,0" scale=20 />
-            <Model mesh="hs-w01_reduced.mesh" roll="45" pitch="-76" yaw="-45" position="-1.5,1,200" scale=20 />
+            <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" />
Index: code/branches/presentation2012/data/levels/templates/tower.oxt
===================================================================
--- code/branches/presentation2012/data/levels/templates/tower.oxt	(revision 9244)
+++ code/branches/presentation2012/data/levels/templates/tower.oxt	(revision 9245)
@@ -5,5 +5,5 @@
    explosionchunks        = 6
 
-   reloadrate          = 1
+   reloadrate          = 3
    reloadwaittime      = 1
 
@@ -13,18 +13,15 @@
 
   >
-
-   
-
-  <controller>
-        <WaypointPatrolController alertnessradius=10000 team=5>
-       		 <waypoints>
-            <Model mesh="cube.mesh" scale=20 position=" 700, 200, 100" />
-          </waypoints>
-        </WaypointPatrolController>
-      </controller>
+  	<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" />
+		<Model position="0,0,0" scale=45 mesh="Tower.mesh" />
     </attached>
 
Index: code/branches/presentation2012/data/levels/towerDefense.oxw
===================================================================
--- code/branches/presentation2012/data/levels/towerDefense.oxw	(revision 9244)
+++ code/branches/presentation2012/data/levels/towerDefense.oxw	(revision 9245)
@@ -27,5 +27,5 @@
   <Pawn>
     <camerapositions>
-      <CameraPosition position="0,0,2000"/>
+      <CameraPosition position="0,0,1500"/>
     </camerapositions>
   </Pawn>
@@ -76,5 +76,5 @@
  	<!--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=2 team=1 >
+	<SpaceShip position="-700,-500, 100" lookat="0,0,0" scale=3 team=1 >
       <templates>
         <Template link=spaceshipassff />
@@ -84,8 +84,9 @@
           <waypoints>
 			  <!-- 1,3 10,3 10,11, 13,11 -->
-            <Model mesh="cube.mesh" scale=20 position="-700,-500, 100" />
-            <Model mesh="cube.mesh" scale=20 position=" 200,-500, 100" />
-            <Model mesh="cube.mesh" scale=20 position=" 200, 300, 100" />
-            <Model mesh="cube.mesh" scale=20 position=" 500, 300, 100" />
+            <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>
@@ -99,4 +100,6 @@
 		 <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 -->
Index: code/branches/presentation2012/src/modules/towerdefense/Tower.cc
===================================================================
--- code/branches/presentation2012/src/modules/towerdefense/Tower.cc	(revision 9244)
+++ code/branches/presentation2012/src/modules/towerdefense/Tower.cc	(revision 9245)
@@ -22,5 +22,5 @@
 	 Constructor. Registers and initializes the object.
 	 */
-    Tower::Tower(BaseObject* creator) : SpaceShip(creator)
+    Tower::Tower(BaseObject* creator) : Pawn(creator)
     {
         RegisterObject(Tower);
@@ -36,4 +36,29 @@
 		*/
     }
+	
+	void Tower::setOrientation(const Quaternion& orientation)
+	{
+		static int ori;
+		orxout() << "orientation " << ++ori << endl;
+	}
+	
+	void Tower::rotateYaw(const Vector2& value)
+	{
+		static int yaw;
+		orxout() << "rotateYaw " << ++yaw << endl;
+	}
+	
+	void Tower::rotatePitch(const Vector2& value)
+	{
+		static int pitch;
+		orxout() << "rotatePitch " << ++pitch << endl;
+	}
+	
+	void Tower::rotateRoll(const Vector2& value)
+	{
+		static int roll;
+		orxout() << "rotateRoll" << ++roll << endl;
+	}
+		
 	// This function is called whenever a player presses the up or the down key.
     // You have to implement what happens when the up or the down key is pressed.
@@ -55,8 +80,10 @@
 	 A vector whose first component is the angle by which to rotate.
 	 */
+		 /*
     void Tower::moveFrontBack(const Vector2& value)
     {
         //orxout() << "frontBack.x: " << value.x << endl;
     }
+	*/
 	
     /**
@@ -66,8 +93,9 @@
 	 A vector whose first component is the direction in which we want to steer the stone.
 	 */
+		 /*
     void Tower::moveRightLeft(const Vector2& value)
     {
 		//orxout() << "rightLeft.x: " << value.x << endl;
-		/*
+		
         if(!this->delay_)
         {
@@ -80,6 +108,6 @@
             this->delay_ = true;
             this->delayTimer_.startTimer();
-        }
-		 */
+		}
     }
+	*/
 }
Index: code/branches/presentation2012/src/modules/towerdefense/Tower.h
===================================================================
--- code/branches/presentation2012/src/modules/towerdefense/Tower.h	(revision 9244)
+++ code/branches/presentation2012/src/modules/towerdefense/Tower.h	(revision 9245)
@@ -20,8 +20,9 @@
 #include "towerdefense/TowerDefensePrereqs.h"
 #include "worldentities/pawns/SpaceShip.h"
+	
 
 namespace orxonox
 {
-    class _OrxonoxExport Tower : public SpaceShip
+    class _OrxonoxExport Tower : public Pawn
     {
 	public:
@@ -29,6 +30,15 @@
 		virtual ~Tower() {};
 		
+		// Maybe later override these to move towers with cursor keys
+		/*
 		virtual void moveFrontBack(const Vector2& value);
 		virtual void moveRightLeft(const Vector2& value);
+		*/
+		
+		// Overriding these to stop towers from spasing out
+		void setOrientation(const Quaternion& orientation);
+        virtual void rotateYaw(const Vector2& value);
+        virtual void rotatePitch(const Vector2& value);
+        virtual void rotateRoll(const Vector2& value);
 		
 		void setGame(TowerDefense* towerdefense)
Index: code/branches/presentation2012/src/modules/towerdefense/TowerDefense.cc
===================================================================
--- code/branches/presentation2012/src/modules/towerdefense/TowerDefense.cc	(revision 9244)
+++ code/branches/presentation2012/src/modules/towerdefense/TowerDefense.cc	(revision 9245)
@@ -105,7 +105,4 @@
 		/* Temporary hack to allow the player to add towers */
 		this->dedicatedAddTower_ = createConsoleCommand( "addTower", createExecutor( createFunctor(&TowerDefense::addTower, this) ) );
-	
-		// Quick hack to test waypoints
-		createConsoleCommand( "aw", createExecutor( createFunctor(&TowerDefense::addWaypointsAndFirstEnemy, this) ) );
     }
 	
@@ -131,19 +128,16 @@
         Deathmatch::start();
 		
-        orxout() << "Adding towers for debug..." << endl;
-		
-		// Mark corners
-		addTower(0,15); addTower(15,0);
-		
-		// Mark diagonal line
-		for (int i = 0 ; i <= 15; i++)
-			addTower(i,i);
-		
-		orxout() << "Done" << endl;
+		const int kInitialTowerCount = 3;
+		Coordinate initialTowerCoordinates[kInitialTowerCount] = {{3,2}, {8,5}, {12,10}};
+		
+		for (int i = 0; i < kInitialTowerCount; i++)
+		{
+			Coordinate coordinate = initialTowerCoordinates[i];
+			addTower(coordinate.x, coordinate.y);
+		}
 		
 		ChatManager::message("Use the console command addTower x y to add towers");
 
 		//TODO: let the player control his controllable entity && TODO: create a new ControllableEntity for the player
-
 	}
 	
@@ -198,12 +192,6 @@
 		newTower->addTemplate(this->center_->getTowerTemplate());
 
-		//this->center_->attach(newTower);
-
-		newTower->setPosition((x-8) * tileScale, (y-8) * tileScale, 100);
+		newTower->setPosition((x-8) * tileScale, (y-8) * tileScale, 75);
 		newTower->setGame(this);
-		//TODO: Save the Tower in a Vector. I would suggest std::vector< std::vector<Tower*> > towers_ as a protected member variable;
-		
-		// TODO: create Tower mesh
-		// TODO: load Tower mesh
 	}
 	
@@ -229,19 +217,4 @@
     {
         SUPER(TowerDefense, tick, dt);
-		
-        static int test = 0;
-        if (++test == 10)
-        {
-			orxout()<< "10th tick." <<endl;
-			/*
-			for (std::set<SpawnPoint*>::iterator it = this->spawnpoints_.begin(); it != this->spawnpoints_.end(); it++)
-			{
-				orxout() << "checking spawnpoint with name " << (*it)->getSpawnClass()->getName() << endl;
-			}
-			*/
-			
-			//addWaypointsAndFirstEnemy();
-			
-        }
     }
 	
@@ -249,5 +222,5 @@
 	
 	// THE PROBLEM: WaypointController's getControllableEntity() returns null, so it won't track. How do we get the controlableEntity to NOT BE NULL???
-	
+	/*
 	void TowerDefense::addWaypointsAndFirstEnemy()
 	{
@@ -283,5 +256,5 @@
 //		this->center_->attach(newShip);
 	}
-	
+	*/
 	/*
 	 void TowerDefense::playerEntered(PlayerInfo* player)
Index: code/branches/presentation2012/src/modules/towerdefense/TowerDefense.h
===================================================================
--- code/branches/presentation2012/src/modules/towerdefense/TowerDefense.h	(revision 9244)
+++ code/branches/presentation2012/src/modules/towerdefense/TowerDefense.h	(revision 9245)
@@ -78,5 +78,4 @@
 
 	private:
-//		WeakPtr<TowerDefenseCenterpoint> center_;
 		TowerDefenseCenterpoint *center_;
 		
@@ -92,10 +91,6 @@
 		} Coordinate; 
 		
-	
-		
 		std::vector<Coordinate> addedTowersCoordinates_;
 		std::vector<Tower*> towers_;
-		
-		void addWaypointsAndFirstEnemy();
     };
 }
Index: code/branches/presentation2012/src/modules/towerdefense/TowerDefensePlayerStats.h
===================================================================
--- code/branches/presentation2012/src/modules/towerdefense/TowerDefensePlayerStats.h	(revision 9244)
+++ code/branches/presentation2012/src/modules/towerdefense/TowerDefensePlayerStats.h	(revision 9245)
@@ -43,5 +43,6 @@
 {
 	typedef enum _TowerCosts {
-		TDDefaultTowerCost = 200
+		// Set to 0 for debug...
+		TDDefaultTowerCost = 0
 	} TowerCost;
 	
