Index: code/branches/WorldMap_HS18/src/orxonox/controllers/CMakeLists.txt
===================================================================
--- code/branches/WorldMap_HS18/src/orxonox/controllers/CMakeLists.txt	(revision 12101)
+++ code/branches/WorldMap_HS18/src/orxonox/controllers/CMakeLists.txt	(revision 12106)
@@ -1,4 +1,6 @@
 ADD_SOURCE_FILES(ORXONOX_SRC_FILES
   Controller.cc
+  StoryModeController.cc
+  SMCoord.cc
   HumanController.cc
   NewHumanController.cc
Index: code/branches/WorldMap_HS18/src/orxonox/controllers/SMCoord.cc
===================================================================
--- code/branches/WorldMap_HS18/src/orxonox/controllers/SMCoord.cc	(revision 12106)
+++ code/branches/WorldMap_HS18/src/orxonox/controllers/SMCoord.cc	(revision 12106)
@@ -0,0 +1,19 @@
+#include "SMCoord.h"
+
+namespace orxonox {
+    SMCoord::SMCoord() {
+        set(0);
+    }
+
+    SMCoord::SMCoord(int x) {
+        set(x);
+    }
+
+    void SMCoord::set(int index) {
+        this->index = index;
+    }
+
+    int SMCoord::getIndex() {
+        return this->index;
+    }
+}
Index: code/branches/WorldMap_HS18/src/orxonox/controllers/SMCoord.h
===================================================================
--- code/branches/WorldMap_HS18/src/orxonox/controllers/SMCoord.h	(revision 12106)
+++ code/branches/WorldMap_HS18/src/orxonox/controllers/SMCoord.h	(revision 12106)
@@ -0,0 +1,24 @@
+#ifndef _SMCoord_H__
+#define _SMCoord_H__
+
+#include "core/CoreIncludes.h"
+#include "gametypes/Deathmatch.h"
+
+namespace orxonox
+{
+
+	class _OrxonoxExport SMCoord
+    {
+        public:
+            SMCoord();
+            SMCoord(int x);
+            virtual void set(int index);
+            virtual int getIndex();
+
+        private:
+            int index;
+    };
+
+
+}
+#endif
Index: code/branches/WorldMap_HS18/src/orxonox/controllers/StoryModeController.cc
===================================================================
--- code/branches/WorldMap_HS18/src/orxonox/controllers/StoryModeController.cc	(revision 12101)
+++ code/branches/WorldMap_HS18/src/orxonox/controllers/StoryModeController.cc	(revision 12106)
@@ -31,4 +31,5 @@
 #include "core/CoreIncludes.h"
 #include "worldentities/ControllableEntity.h"
+#include "SMCoord.h"
 
 namespace orxonox
@@ -36,19 +37,25 @@
     RegisterClass(StoryModeController);
 
-   StoryModeController::StoryModeController(Context* context) : Pawn(context)
+   StoryModeController::StoryModeController(Context* context) : ControllableEntity(context)
     {
         RegisterObject(StoryModeController);
-        moveRight_ = false;
-        moveLeft_ = false;
-        //this->setAccuracy(50);
+        float time_;
+        moveForward_=false;
+        moveBackward_=false;                     
+        boostPressed_=false;
+        setPosition(0);
+      
     }
 
     StoryModeController::~StoryModeController()
     {
-        /*for (WorldEntity* waypoint : this->waypoints_)
-        {
-            if(waypoint)
-                waypoint->destroy();
-        }*/
+        
+
+    }
+
+    void StoryModeController::updatePosition(){
+
+    }
+    void StoryModeController::setPosition(int index){
 
     }
@@ -57,22 +64,13 @@
     {
         orxout(internal_error) << "Hi" << endl;
-        
-        /*if (!this->isActive())
-            return;
-
-        if (this->waypoints_.size() == 0 || !this->getControllableEntity())
-            return;
-
-        if (false /* this->waypoints_[this->currentWaypoint_]->getWorldPosition().squaredDistance(this->getControllableEntity()->getPosition()) <= this->squaredaccuracy_*///)
-            //this->currentWaypoint_ = (this->currentWaypoint_ + 1) % this->waypoints_.size();
-
-        //this->moveToPosition(this->waypoints_[this->currentWaypoint_]->getWorldPosition());
+       SUPER(StoryModeController, tick, dt);
+       time_ +=dt;
+       
+       
     }
 
     void StoryModeController::moveFrontBack(const Vector2& value)
     {
-        orxout(internal_error) << "FrontBack" << endl;
-
-            
+                    
     }
     void StoryModeController::moveRightLeft(const Vector2& value)
@@ -80,8 +78,10 @@
         orxout(internal_error) << "RightLeft" << endl; 
         if (value.x>0){
-            moveRight_ =false;
-            moveLeft_ =true;
-
-        } 
+            moveForward_ =false;
+            moveBackward_ =true;
+        } else {
+            moveBackward_ = false;
+            moveForward_ = true;
+        }
 
     }
@@ -92,4 +92,6 @@
     void StoryModeController::fire(unsigned int a){}
     void StoryModeController::fired(unsigned int b){}
-    void StoryModeController::boost(bool bBoost){}
+    void StoryModeController::boost(bool bBoost){
+        boostPressed_ = true;
+    }
 }
Index: code/branches/WorldMap_HS18/src/orxonox/controllers/StoryModeController.h
===================================================================
--- code/branches/WorldMap_HS18/src/orxonox/controllers/StoryModeController.h	(revision 12101)
+++ code/branches/WorldMap_HS18/src/orxonox/controllers/StoryModeController.h	(revision 12106)
@@ -39,5 +39,5 @@
 namespace orxonox
 {
-    class _OrxonoxExport StoryModeController : public Pawn
+    class _OrxonoxExport StoryModeController : public ControllableEntity
     {
         public:
@@ -54,7 +54,13 @@
             virtual void fired(unsigned int firemode) override;
             virtual void boost(bool bBoost) override;
+            virtual void setPosition(int index);
             bool moveRight_ ;
             bool moveLeft_ ;
-        protected:
+        private:
+            virtual void updatePosition();                        
+            float time_;
+            bool moveForward_;
+            bool moveBackward_;                     
+            bool boostPressed_;
 
     };
