Index: code/branches/gameimmersion/src/modules/weapons/projectiles/Projectile.cc
===================================================================
--- code/branches/gameimmersion/src/modules/weapons/projectiles/Projectile.cc	(revision 8525)
+++ code/branches/gameimmersion/src/modules/weapons/projectiles/Projectile.cc	(revision 8533)
@@ -36,5 +36,4 @@
 #include "worldentities/pawns/Pawn.h"
 #include "graphics/ParticleSpawner.h"
-#include "BasicProjectile.h"
 
 namespace orxonox
Index: code/branches/gameimmersion/src/modules/weapons/projectiles/Rocket.cc
===================================================================
--- code/branches/gameimmersion/src/modules/weapons/projectiles/Rocket.cc	(revision 8525)
+++ code/branches/gameimmersion/src/modules/weapons/projectiles/Rocket.cc	(revision 8533)
@@ -43,4 +43,6 @@
 #include "Scene.h"
 
+#include "BasicProjectile.h"
+
 namespace orxonox
 {
@@ -52,10 +54,10 @@
         Constructor. Registers the object and initializes some default values.
     */
-    Rocket::Rocket(BaseObject* creator) : ControllableEntity(creator)
+    Rocket::Rocket(BaseObject* creator) : ControllableEntity(creator), BasicProjectile()
     {
         RegisterObject(Rocket);// - register the Rocket class to the core
 
         this->localAngularVelocity_ = 0;
-        this->bDestroy_ = false;
+//        this->bDestroy_ = false;
         this->lifetime_ = 100;
 
@@ -175,5 +177,5 @@
         if( GameMode::isMaster() )
         {
-            if( this->bDestroy_ )
+            if( this->getBDestroy() )
                 this->destroy();
 
@@ -183,5 +185,7 @@
     bool Rocket::collidesAgainst(WorldEntity* otherObject, btManifoldPoint& contactPoint)
     {
-        if (!this->bDestroy_ && GameMode::isMaster())
+        return BasicProjectile::basicCollidesAgainst(otherObject,contactPoint,this->owner_,this);
+
+/* * /        if (!this->bDestroy_ && GameMode::isMaster())
         {
             if (otherObject == this->owner_)
@@ -216,5 +220,5 @@
 //             this->destroy();
         }
-        return false;
+/ * */        return false;
     }
 
Index: code/branches/gameimmersion/src/modules/weapons/projectiles/Rocket.h
===================================================================
--- code/branches/gameimmersion/src/modules/weapons/projectiles/Rocket.h	(revision 8525)
+++ code/branches/gameimmersion/src/modules/weapons/projectiles/Rocket.h	(revision 8533)
@@ -35,4 +35,6 @@
 #include "worldentities/ControllableEntity.h"
 
+#include "BasicProjectile.h"
+
 namespace orxonox
 {
@@ -46,5 +48,5 @@
         Oli Scheuss
     */
-    class _WeaponsExport Rocket : public ControllableEntity
+    class _WeaponsExport Rocket : public ControllableEntity, public BasicProjectile
     {
         public:
@@ -109,8 +111,10 @@
                 { return this->owner_; }
 
-            inline void setDamage(float damage)
+/*            inline void setDamage(float damage)
                 { this->damage_ = damage; }
             inline float getDamage() const
                 { return this->damage_; }
+*/
+
             virtual void fired(unsigned int firemode);
 
@@ -118,6 +122,6 @@
             WeakPtr<Pawn> owner_;
             Vector3 localAngularVelocity_;
-            float damage_;
-            bool bDestroy_;
+//            float damage_;
+//            bool bDestroy_;
 
             WeakPtr<PlayerInfo> player_;
Index: code/branches/gameimmersion/src/modules/weapons/projectiles/SimpleRocket.cc
===================================================================
--- code/branches/gameimmersion/src/modules/weapons/projectiles/SimpleRocket.cc	(revision 8525)
+++ code/branches/gameimmersion/src/modules/weapons/projectiles/SimpleRocket.cc	(revision 8533)
@@ -48,10 +48,10 @@
     CreateFactory(SimpleRocket);
 
-    SimpleRocket::SimpleRocket(BaseObject* creator) : ControllableEntity(creator)
+    SimpleRocket::SimpleRocket(BaseObject* creator) : ControllableEntity(creator), BasicProjectile()
     {
         RegisterObject(SimpleRocket);// - register the SimpleRocket class to the core
 
         this->localAngularVelocity_ = 0;
-        this->bDestroy_ = false;
+//        this->bDestroy_ = false;
         this->lifetime_ = 120;
 
@@ -115,5 +115,5 @@
                 this->disableFire();
 
-            if( this->bDestroy_ )
+            if( this->getBDestroy() )
                 this->destroy();
         }
@@ -167,5 +167,6 @@
     bool SimpleRocket::collidesAgainst(WorldEntity* otherObject, btManifoldPoint& contactPoint)
     {
-        if (!this->bDestroy_ && GameMode::isMaster())
+        return BasicProjectile::basicCollidesAgainst(otherObject,contactPoint,this->owner_,this);
+/*        if (!this->bDestroy_ && GameMode::isMaster())
         {
             if (otherObject == this->owner_)
@@ -204,4 +205,5 @@
         }
         return false;
+*/
     }
 
Index: code/branches/gameimmersion/src/modules/weapons/projectiles/SimpleRocket.h
===================================================================
--- code/branches/gameimmersion/src/modules/weapons/projectiles/SimpleRocket.h	(revision 8525)
+++ code/branches/gameimmersion/src/modules/weapons/projectiles/SimpleRocket.h	(revision 8533)
@@ -36,4 +36,6 @@
 #include "graphics/ParticleSpawner.h"
 
+#include "BasicProjectile.h"
+
 namespace orxonox
 {
@@ -46,5 +48,5 @@
        Gabriel Nadler (Original file: Oli Scheuss)
     */
-    class _WeaponsExport SimpleRocket : public ControllableEntity
+    class _WeaponsExport SimpleRocket : public ControllableEntity, public BasicProjectile
     {
         public:
@@ -114,15 +116,15 @@
             { return this->fuel_; }
 
-            inline void setDamage(float damage)
+/*            inline void setDamage(float damage)
                 { this->damage_ = damage; }
             inline float getDamage() const
                 { return this->damage_; }
-
+*/
 
         private:
             WeakPtr<Pawn> owner_;
             Vector3 localAngularVelocity_;
-            float damage_;
-            bool bDestroy_;
+//            float damage_;
+//            bool bDestroy_;
             bool fuel_; //!< Bool is true while the rocket "has fuel"
 
Index: code/branches/gameimmersion/src/orxonox/weaponsystem/WeaponMode.h
===================================================================
--- code/branches/gameimmersion/src/orxonox/weaponsystem/WeaponMode.h	(revision 8525)
+++ code/branches/gameimmersion/src/orxonox/weaponsystem/WeaponMode.h	(revision 8533)
@@ -104,5 +104,5 @@
             // Fire
             inline void setDamage(float damage)
-                { this->damage_ = damage; COUT(3) << "DAMAGE-SET-FUNKTION (WeaponMode) WIRD AUFGERUFEN" << endl;}
+                { this->damage_ = damage;}
             inline float getDamage() const
                 { return this->damage_; }
@@ -115,5 +115,5 @@
 
             inline void setShieldDamage(float shielddamage)
-                { this->shielddamage_ = shielddamage;} //ShieldDamage wird korrekt gesettet vom XML-File
+                { this->shielddamage_ = shielddamage;}
             inline float getShieldDamage() const
                 { return this->shielddamage_; }
Index: code/branches/gameimmersion/src/orxonox/worldentities/pawns/Pawn.cc
===================================================================
--- code/branches/gameimmersion/src/orxonox/worldentities/pawns/Pawn.cc	(revision 8525)
+++ code/branches/gameimmersion/src/orxonox/worldentities/pawns/Pawn.cc	(revision 8533)
@@ -249,5 +249,5 @@
             }
 
-            else { COUT(3) << "## SHIELD : " << this->getShieldHealth() << endl; }
+ //           else { COUT(3) << "## SHIELD : " << this->getShieldHealth() << endl; }
 
             this->setHealth(this->health_ - healthdamage);
@@ -319,5 +319,5 @@
     void Pawn::hit(Pawn* originator, const Vector3& force, float damage, float healthdamage, float shielddamage)
     {
-        COUT(3) << "neue hit-Funktion wurde aufgerufen // " << std::flush;
+//        COUT(3) << "neue hit-Funktion wurde aufgerufen // " << std::flush;
         if (this->getGametype() && this->getGametype()->allowPawnHit(this, originator) && (!this->getController() || !this->getController()->getGodMode()) )
         {
