Index: code/branches/presentation2/src/orxonox/items/MultiStateEngine.cc
===================================================================
--- code/branches/presentation2/src/orxonox/items/MultiStateEngine.cc	(revision 6205)
+++ code/branches/presentation2/src/orxonox/items/MultiStateEngine.cc	(revision 6207)
@@ -45,5 +45,5 @@
 namespace orxonox
 {
-    static const float FORWARD_EFFECT_VELOCITY_THRESHOLD = 20;
+    static const float FORWARD_EFFECT_VELOCITY_THRESHOLD = 0;
     static const float MAX_VELOCITY_NORMAL = 111;
     static const float MAX_VELOCITY_BOOST = 221;
@@ -56,5 +56,7 @@
 
         defEngineSndNormal_ = new WorldSound(this);
+        defEngineSndBoost_ = new WorldSound(this);
         defEngineSndNormal_->setLooping(true);
+        defEngineSndBoost_->setLooping(true);
 
         this->lua_ = new LuaState();
@@ -73,4 +75,5 @@
                     (*it2)->destroy();
             delete this->defEngineSndNormal_;
+            delete this->defEngineSndBoost_;
             delete this->lua_;
         }
@@ -82,4 +85,5 @@
         XMLPortObject(MultiStateEngine, EffectContainer, "",  addEffectContainer,  getEffectContainer,  xmlelement, mode);
         XMLPortParam(MultiStateEngine, "defEngineSndNormal",  setDefEngSndNormal,  getDefEngSndNormal,  xmlelement, mode);
+        XMLPortParam(MultiStateEngine, "defEngineSndBoost",  setDefEngSndBoost,  getDefEngSndBoost,  xmlelement, mode);
     }
 
@@ -107,8 +111,8 @@
                 {
                     newState = Boost;
-                    /*pitch = pitch/MAX_VELOCITY_BOOST + 1;
+                    pitch = pitch/MAX_VELOCITY_BOOST + 1;
                     pitch = pitch > 2 ? 2 : pitch;
                     pitch = pitch < 0.5 ? 0.5 : pitch;
-                    defEngineSndNormal_->setPitch(pitch);*/
+                    defEngineSndBoost_->setPitch(pitch);
                 }
                 else if (forward && !newState) // newState == Boost
@@ -155,4 +159,12 @@
                         lua_pushboolean(this->lua_->getInternalLuaState(), newState & Boost);
                         lua_setglobal(this->lua_->getInternalLuaState(), "boost");
+                        if(newState & Boost)
+                        {
+                            defEngineSndBoost_->play();
+                        }
+                        else
+                        {
+                            defEngineSndBoost_->stop();
+                        }
                     }
 
@@ -181,4 +193,5 @@
 
         this->getShip()->attach(defEngineSndNormal_);
+        this->getShip()->attach(defEngineSndBoost_);
 
         for (std::vector<EffectContainer*>::const_iterator it = this->effectContainers_.begin(); it != this->effectContainers_.end(); ++it)
@@ -220,3 +233,13 @@
         return defEngineSndNormal_->getSource();
     }
+
+    void MultiStateEngine::setDefEngSndBoost(const std::string &engineSound)
+    {
+        defEngineSndBoost_->setSource(engineSound);
+    }
+
+    const std::string& MultiStateEngine::getDefEngSndBoost()
+    {
+        return defEngineSndBoost_->getSource();
+    }
 }
Index: code/branches/presentation2/src/orxonox/items/MultiStateEngine.h
===================================================================
--- code/branches/presentation2/src/orxonox/items/MultiStateEngine.h	(revision 6205)
+++ code/branches/presentation2/src/orxonox/items/MultiStateEngine.h	(revision 6207)
@@ -64,6 +64,9 @@
             void addEffectContainer(EffectContainer* effect);
             EffectContainer* getEffectContainer(unsigned int index) const;
+            
             void setDefEngSndNormal(const std::string& engineSound);
             const std::string& getDefEngSndNormal();
+            void setDefEngSndBoost(const std::string& engineSound);
+            const std::string& getDefEngSndBoost();
 
         private:
@@ -72,4 +75,5 @@
             std::vector<EffectContainer*> effectContainers_;
             WorldSound* defEngineSndNormal_;
+            WorldSound* defEngineSndBoost_;
     };
 }
