Index: code/branches/rocket2/src/modules/weapons/RocketController.cc
===================================================================
--- code/branches/rocket2/src/modules/weapons/RocketController.cc	(revision 6967)
+++ code/branches/rocket2/src/modules/weapons/RocketController.cc	(revision 6969)
@@ -80,6 +80,6 @@
     void RocketController::setTargetPosition()
     {
-        //this->targetPosition_=this->target_->getWorldPosition();
-        this->targetPosition_ = getPredictedPosition(this->getControllableEntity()->getWorldPosition(),this->getControllableEntity()->getVelocity().length() , this->target_->getWorldPosition(), this->target_->getVelocity());
+        this->targetPosition_=this->target_->getWorldPosition(); //don't really note a difference in the rocket behaviour xD
+        //this->targetPosition_ = getPredictedPosition(this->getControllableEntity()->getWorldPosition(),this->getControllableEntity()->getVelocity().length() , this->target_->getWorldPosition(), this->target_->getVelocity());
     }
     void RocketController::moveToTargetPosition()
Index: code/branches/rocket2/src/modules/weapons/projectiles/Rocket.cc
===================================================================
--- code/branches/rocket2/src/modules/weapons/projectiles/Rocket.cc	(revision 6967)
+++ code/branches/rocket2/src/modules/weapons/projectiles/Rocket.cc	(revision 6969)
@@ -87,4 +87,5 @@
             this->defSndWpnEngine_->setLooping(true);
             this->defSndWpnEngine_->setSource("sounds/Rocket_engine.ogg");
+            this->defSndWpnEngine_->setVolume(100);
             this->attach(defSndWpnEngine_);
 
@@ -92,4 +93,5 @@
             this->defSndWpnLaunch_->setLooping(false);
             this->defSndWpnLaunch_->setSource("sounds/Rocket_launch.ogg");
+            this->defSndWpnLaunch_->setVolume(100);
             this->attach(defSndWpnLaunch_);
         }
Index: code/branches/rocket2/src/modules/weapons/projectiles/SimpleRocket.cc
===================================================================
--- code/branches/rocket2/src/modules/weapons/projectiles/SimpleRocket.cc	(revision 6967)
+++ code/branches/rocket2/src/modules/weapons/projectiles/SimpleRocket.cc	(revision 6969)
@@ -58,9 +58,8 @@
         this->localAngularVelocity_ = 0;
         this->bDestroy_ = false;
-        this->lifetime_ = 100;
+        this->lifetime_ = 120;
         this->setMass(15);
         COUT(4) << "simplerocket constructed\n";
-        this->counter_=0;
-        this->slowing_=false;
+        this->maxLife_=90;
 
         if (GameMode::isMaster())
@@ -89,6 +88,4 @@
             collisionShape->setHeight(200);
             this->attachCollisionShape(collisionShape);
-            
-
             this->destroyTimer_.setTimer(this->lifetime_, false, createExecutor(createFunctor(&SimpleRocket::destroyObject, this)));
         }
@@ -96,20 +93,13 @@
     }
    
-    void SimpleRocket::disableFire(){
-        this->setAcceleration(0,0,0);
-        this->setVelocity(Vector3(0,0,0));
+
+
+
+    void SimpleRocket::tick(float dt)
+    {
+
+        SUPER(SimpleRocket, tick, dt);
+        if (this->getVelocity().squaredLength() >130000) this->maxLife_-=dt; //if Velocity bigger than about 360, uses a lot more "fuel" :)
         
-        this->fire_->detachFromParent();
-        //this->fire_->setVisible(false);
-
-    }
-
-
-    void SimpleRocket::tick(float dt)
-    {
-
-        SUPER(SimpleRocket, tick, dt);
-        counter_++;
-        if (this->getVelocity().squaredLength() >130000 && !slowing_) counter_++; //if Velocity bigger than about 360, uses a lot more "fuel" :)
 
             this->setAngularVelocity(this->getOrientation() * this->localAngularVelocity_);
@@ -119,23 +109,17 @@
             
             if (this->fuel_) {
-                COUT(0)<<this->getVelocity().length()<<endl;
-                if (this->counter_>1000 && counter_%12==0) 
-                    
-                    if (!this->slowing_) {
-                        this->setAcceleration(this->getOrientation()*Vector3(10,10,10));
-                        this->slowing_=true;
-                    }
-
-                if (this->counter_ > 1800) 
+                if (this->destroyTimer_.getRemainingTime()<  this->lifetime_-this->maxLife_ ) 
                     this->fuel_=false;
-            }
+            } else this->disableFire();
+
             if( this->bDestroy_ )
                 this->destroy();
-            if (!this->fuel_) 
-                this->disableFire();
-        
-           
-            
-        
+                
+    }
+
+    void SimpleRocket::disableFire(){
+        this->setAcceleration(0,0,0);        
+        this->fire_->detachFromParent();
+
     }
 
@@ -221,9 +205,4 @@
     }
     
-    void SimpleRocket::setDestroy()
-    {
-        this->bDestroy_=true;
-        CCOUT(4)<<"trying to destroy";
-    }
 
     void SimpleRocket::fired(unsigned int firemode)
Index: code/branches/rocket2/src/modules/weapons/projectiles/SimpleRocket.h
===================================================================
--- code/branches/rocket2/src/modules/weapons/projectiles/SimpleRocket.h	(revision 6967)
+++ code/branches/rocket2/src/modules/weapons/projectiles/SimpleRocket.h	(revision 6969)
@@ -131,6 +131,4 @@
             bool bDestroy_;
             bool fuel_;
-            bool slowing_;
-            int counter_;
 
 
@@ -138,5 +136,9 @@
             Timer destroyTimer_;
             float lifetime_;
+            float maxLife_;
+
             ParticleEmitter* fire_;
+
+
 
 
